1

Doorkeeper.rbには、認証ブロックがあります。このロジックをそこに収める必要がありますが、Rubyの構文はまだ新しいので、どのように書くかわかりません。

その人がログインしていて、それらがcurrent_userであるか、以下のロジックが実行されます。

resource_owner_authenticator do

   current_user ||

   session[:after_login_redirect_to] = request.fullpath
   session[:oauth_for_client_id] = params[:client_id]
   redirect_to('/connect')   

end
4

2 に答える 2

1

2番目のセクションの周りに開始/終了ブロックが必要です。オーセンティケーターcurrent_userが存在する場合はそれを返し、そうでない場合は他のすべてのことを行います。

resource_owner_authenticator do
  current_user || begin
    session[:after_login_redirect_to] = request.fullpath
    session[:oauth_for_client_id] = params[:client_id]
    redirect_to('/connect')
  end
end
于 2013-04-03T04:07:44.107 に答える
0

これを試して:

resource_owner_authenticator do
  unless current_user do
    session[:after_login_redirect_to] = request.fullpath
    session[:oauth_for_client_id] = params[:client_id]
    redirect_to('/connect')
  end
end
于 2013-03-22T18:10:40.243 に答える