我正在使用omniauth进行登录,我想知道如何存储用户的凭据,以便在他们关闭浏览器并且会话结束或决定注销后->他们下次不需要“允许访问”尝试登录。
我正在使用 OmniAuth Google 和 Identity 的组合。我没有使用设计。
我正在使用omniauth进行登录,我想知道如何存储用户的凭据,以便在他们关闭浏览器并且会话结束或决定注销后->他们下次不需要“允许访问”尝试登录。
我正在使用 OmniAuth Google 和 Identity 的组合。我没有使用设计。
在您的 omniauth 配置文件中,添加以下内容:
provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'],
{
approval_prompt: 'auto'
}
编辑:
在新版本的google_oauth2
gem 中,默认会记住用户授权。如果您希望用户始终必须授权登录,请使用新prompt
选项:
provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'],
{
prompt: 'consent'
}
有关更多信息,请阅读文档。
您可以将其存储user_id
为浏览器 cookie。当带有 cookie 的未登录用户访问您的站点时,查找该用户的身份验证提供程序(在本例中为 Google)并查询该提供程序以查看该用户是否已登录。
或者,使用 Devise :) 它允许通过其Rememberable 模块非常轻松地集成 OmniAuth 。