2

Rails アプリで door_keeper gem を使用しようとすると、奇妙な問題が発生します。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 に答える