Rails门卫 - 重定向到主页而不是授权页面

时间:2012-10-18 20:31:43

标签: ruby-on-rails-3 oauth

当我尝试使用带有rails app的door_keeper gem时,我遇到了一个奇怪的问题。当我使用Oauth2 gem获取令牌时会出现问题。但在我有网址的部分:

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

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

1 个答案:

答案 0 :(得分: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

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