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