2

当我尝试将 door_keeper gem 与 rails 应用程序一起使用时,我遇到了一个奇怪的问题。当我使用 Oauth2 gem 获取令牌时会出现问题。但在我有 url 的部分:

http://0.0.0.0:3000/oauth/authorize?response_type=code&client_id=199f27a02764f1ef1d31c2860b83ef93c0cc3dc26886d2b3d76b8ef1e935f3ae&redirect_uri=http%3A%2F%2F0.0.0.0%3A3000%2Fcallback

它不会重定向到我们授权并获取令牌的页面,而是直接重定向到http://0.0.0.0:3000

我这里有什么问题,它应该首先重定向到应用程序授权页面,不是吗?

4

1 回答 1

0

授权页面需要一些用户登录。您在resource_owner_authenticator块中设置它,它应该看起来像这样:

resource_owner_authenticator do |routes|
  # Put your resource owner authentication logic here.
  # If you want to use named routes from your app you need
  # to call them on routes object eg.
  # routes.new_user_session_path
  User.find(session[:user_id]) || routes.new_user_session_path
end

在这种情况下,如果用户在尝试访问时不在会话中/oauth/authorize,则会被重定向回new_user_session_path.

只有从会话中找到用户时,您才能看到授权页面。

于 2012-10-19T22:41:58.340 回答