【发布时间】:2016-09-16 11:01:48
【问题描述】:
我使用 Doorkeeper 将 Rails 应用程序从 rails 4.0 升级到 4.2 它还将 Doorkeeper 从 1.4 更新到 4.0
doorkeper 应用使用 Devise 对用户进行身份验证。
当允许客户端使用门卫时,用户在门卫/提供商应用程序上被正确重定向,并且可以登录。用户立即被重定向到第三方应用程序。
但是当第三方应用程序直接联系门卫提供商应用程序的 API 时,答案是 403,日志中出现以下错误:
Filter chain halted as :doorkeeper_authorize! rendered or redirected
我试图通过将门卫应用程序与门卫的示例进行比较来确定问题,但它似乎应该可以工作。
我不知道下一步该怎么做才能解决我的问题。
编辑:我听从了熊猫的建议,并在 doorkeeper_authorize 中添加了范围! :
before_action -> { doorkeeper_authorize! :public,:user,:admin }
现在一切都像以前的版本一样工作。
【问题讨论】:
-
看起来是因为范围。请看看这个问题stackoverflow.com/questions/31787412/…
-
升级任何库的主要版本都应该非常小心,并仔细阅读更新日志。通常不应一次升级多个主要版本。