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

您需要在第二部分周围有一个开始/结束块。如果存在,您希望身份验证器返回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 回答