【问题标题】:Already logged in on Facebook, why the need to re-authenticate when using Devise已经登入脸书,为何在使用 Devise 时需要重新认证
【发布时间】:2015-06-10 22:21:00
【问题描述】:

我正在使用设计和omniauth-facebook gem。我已经成功配置了它。但是,我想知道当我已经在浏览器的另一个选项卡上登录 Facebook 时,为什么我需要在我的应用程序中单击登录链接时重新进行身份验证?这里不应该是什么魔法吗?或者这是预期的行为?

【问题讨论】:

    标签: ruby-on-rails ruby facebook devise


    【解决方案1】:

    这是预期的。这是 facebook 确保您的用户实际上是在试图让某人访问他们的信息的方式。

    【讨论】:

    • 好的,但是 spotify 和此类应用程序会自动让您登录?他们做的事情和我猜的不一样?
    【解决方案2】:

    事实证明,使用这种方法:

    <%= link_to 'Sign in', volunteer_omniauth_authorize_path(:facebook) %>
    

    它按预期工作。当用户登录 Facebook 时,他/她不必重新输入身份验证信息。退出 Facebook 时,用户必须重新进行身份验证。

    太棒了。

    【讨论】:

    • 我几天前刚刚在一个应用程序中实现了这个。我记得,用户必须第一次向(facebook)提供密码才能授权数据传输并创建用户。后来他们没有这样做,因为他们已经这样做了,而且它只是创建一个会话而不是一个新用户。在我自己的应用程序中对其进行测试,结果就是这样。这来自于我对 OA 或 FB API 文档的回忆。挖掘任何一方的源代码都可能证明是不正确的。
    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多