当我尝试使用带有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
我在这里遇到的问题是什么,它应该首先重定向到应用程序授权页面,不应该吗?
答案 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
。
只有在会话中找到用户时,您才能看到授权页面。