Devise gemを認証に使用しているWebアプリケーション(APIもあります)を構築しており、APIパーツの認証にDoorkeeper gemも使用しています。DeviseとDoorkeeperの両方の宝石を使用するには?
問題は、私はのOAuth2コード(及びログイン)を受信するためのURLに行くとき、私は、Webアプリケーションではなく、クライアントコールバックURLにリダイレクトさだということになりました。私がする必要がどのような
はOAuthの使用時に通常にし、コールバックURLに署名する際に、Webアプリケーションにリダイレクトされます。
どうすればいいですか?私はDeviseセッションコントローラを上書きしていますが、何を入れるべきかわかりません。
これは私のコードです:
def new
session[:return_to] = params[:return_to] if params[:return_to]
resource = build_resource
clean_up_passwords(resource)
end
def create
resource = warden.authenticate!(auth_options)
sign_in(resource_name, resource)
if session[:return_to]
redirect_to session[:return_to]
session[:return_to] = nil
else
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
問題は工夫が私のリダイレクトロジックを無視しているようだということです。
さらにアドバイスをしてください。これはApplicationControllerに(考案のコントローラから継承すること)で、私のために働いた
resource_owner_authenticator do
#raise "Please configure doorkeeper resource_owner_authenticator block located in #{__FILE__}"
# Put your resource owner authentication logic here.
# Example implementation:
session[:user_return_to] = request.fullpath
current_user || redirect_to(login_url)
end
'login_url'が...これは私の円形のリダイレクトを与えた –
' new_user_session_url'ことが、私はそれを解決なかった方法についての私の答えを参照してください可能性があります。 – zmilojko