Doorkeeper 集成 Rails 4 个应用程序
doorkeeper integration with Rails 4 application
按照门卫 github 自述文件中的说明(我认为),我得到了 before_action
。
class ReadingsController < ApplicationController
before_action :doorkeeper_authorize! # Require access token for all actions
...
end
RubyMine 抱怨 :doorkeeper_authorize!
未在范围内定义。
如果我 运行 无论如何,我得到:
Processing by ReadingsController#index as HTML
Filter chain halted as :doorkeeper_authorize! rendered or redirected
Completed 401 Unauthorized in 48ms (ActiveRecord: 0.0ms)
在控制台上,一个完全空白的结果。当我查看源代码时,它看起来像常规结果页面。
好吧,这是失败,还是这实际上是在告诉我我未经授权?如果是,我为什么要连接重定向以允许某人实际进行身份验证?
在 a working example I've built a while before 之后,您的代码在一个完全出乎意料的地方失败了:在 Doorkeeper 的初始化程序中,如下所示:
resource_owner_authenticator do
current_user || begin
session[:guest_return_url] = request.fullpath
redirect_to(user_omniauth_authorize_path(:facebook))
end
end
我不知道 you 在那个块中有什么,但一般来说它应该 return 一个应该被视为 的对象资源所有者。看门人失败了,因为那个街区没有这样做。为了在我的示例中实现此块,我使用了 Devise 的 current_user
帮助器和一个回退 redirect_to
用于用户未通过身份验证(毕竟这是在 before_action
中执行的)。
所以要让 Doorkeeper "let you in" 你需要告诉它 "how to recognize the owner"。那是 Doorkeeper 不处理的身份验证。
按照门卫 github 自述文件中的说明(我认为),我得到了 before_action
。
class ReadingsController < ApplicationController
before_action :doorkeeper_authorize! # Require access token for all actions
...
end
RubyMine 抱怨 :doorkeeper_authorize!
未在范围内定义。
如果我 运行 无论如何,我得到:
Processing by ReadingsController#index as HTML
Filter chain halted as :doorkeeper_authorize! rendered or redirected
Completed 401 Unauthorized in 48ms (ActiveRecord: 0.0ms)
在控制台上,一个完全空白的结果。当我查看源代码时,它看起来像常规结果页面。
好吧,这是失败,还是这实际上是在告诉我我未经授权?如果是,我为什么要连接重定向以允许某人实际进行身份验证?
在 a working example I've built a while before 之后,您的代码在一个完全出乎意料的地方失败了:在 Doorkeeper 的初始化程序中,如下所示:
resource_owner_authenticator do
current_user || begin
session[:guest_return_url] = request.fullpath
redirect_to(user_omniauth_authorize_path(:facebook))
end
end
我不知道 you 在那个块中有什么,但一般来说它应该 return 一个应该被视为 的对象资源所有者。看门人失败了,因为那个街区没有这样做。为了在我的示例中实现此块,我使用了 Devise 的 current_user
帮助器和一个回退 redirect_to
用于用户未通过身份验证(毕竟这是在 before_action
中执行的)。
所以要让 Doorkeeper "let you in" 你需要告诉它 "how to recognize the owner"。那是 Doorkeeper 不处理的身份验证。