【问题标题】:Doorkeeper with Omniauth - How to handle the case where a user does not authorize?Doorkeeper with Omniauth - 如何处理用户未授权的情况?
【发布时间】:2013-03-05 14:06:14
【问题描述】:

我正在使用 Doorkeeper 和 Omniauth。 客户端重定向到我的授权端点,该端点重定向到登录页面。用户被要求通过 Facebook 进行身份验证,之后他登录并且流程返回到 Doorkeeper。

我的问题是,如果用户选择不登录,则流程永远不会返回到 Doorkeeper。我希望流程会返回到 Doorkeeper,这会向客户端返回错误。

我应该怎么做?

【问题讨论】:

    标签: ruby-on-rails ruby oauth-2.0 doorkeeper


    【解决方案1】:

    这不是一个真正的问题。用户主动选择不连接并做其他事情。

    解决方法取决于您是否在当前选项卡、新选项卡或新窗口中重定向。如果你替换了你的标签/窗口,他就不再在你的应用程序中了。如果在新标签中,您的网页仍然打开,或者您的 oauth 消费者的网页仍然打开。如果用户真的需要,这些页面应该能够单击按钮再次尝试连接。

    如果您的页面仍在选项卡中,您可以执行 javascript setTimeout,但它的用途是什么?

    听起来你只是想多了 :) 你最终得到了什么?

    【讨论】:

    • 你说得对,我想太多了。在我的实现中,登录会在完成后在主窗口中调用 js 的弹出窗口中打开。当用户选择不登录时,不会调用任何内容并且行为正常。幸运的是,FB 登录对话框中的“取消”按钮假定它处于弹出窗口并关闭窗口。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2012-01-26
    • 2019-09-29
    • 2013-06-15
    相关资源
    最近更新 更多