1

我正在使用omniauth进行登录,我想知道如何存储用户的凭据,以便在他们关闭浏览器并且会话结束或决定注销后->他们下次不需要“允许访问”尝试登录。

我正在使用 OmniAuth Google 和 Identity 的组合。我没有使用设计。

4

2 回答 2

3

在您的 omniauth 配置文件中,添加以下内容:

provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'],
  {
    approval_prompt: 'auto'
  }

编辑:

在新版本的google_oauth2gem 中,默认会记住用户授权。如果您希望用户始终必须授权登录,请使用新prompt选项:

provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'],
  {
    prompt: 'consent'
  }

有关更多信息,请阅读文档

于 2013-02-12T00:17:35.353 回答
1

您可以将其存储user_id为浏览器 cookie。当带有 cookie 的未登录用户访问您的站点时,查找该用户的身份验证提供程序(在本例中为 Google)并查询该提供程序以查看该用户是否已登录。

或者,使用 Devise :) 它允许通过其Rememberable 模块非常轻松地集成 OmniAuth 。

于 2013-02-11T17:31:08.480 回答