私は、会社のWebアプリケーションのいくつかで動作することを目的としたoauthプロバイダーを作成しました。これまでうまくいったドアマンの宝石を使っています。
一般的な動作は、ユーザーがクライアントアプリケーションに移動し、プロバイダーにリダイレクトされてサインインし、クライアントアプリケーションがそのユーザーの情報へのアクセスを許可されていることを確認してから、クライアントアプリケーションにリダイレクトされることです。ただし、ユーザーがクライアントアプリケーションを確認する手順はスキップしたいと思います。彼らのためにやりたいので、プロンプトはありません。
ここで見つけたコードを次のようなもので模倣しようとしました。
Doorkeeper::Application.all.each do |application|
auth_params = {response_type: 'code', client_id: application.uid, redirect_uri: application.redirect_uri}
client = Doorkeeper::OAuth::Client.find(application.uid)
authorization = Doorkeeper::OAuth::AuthorizationRequest.new(client, user, auth_params)
authorization.authorize
end
しかし、それは機能しませんでした。それでも、クライアントアプリの承認/拒否プロンプトがユーザーに表示されます。提案?