2017-11-29 16 views
0

My RailsアプリはDoorkeeperを持つoauthプロバイダーです。クライアント登録されたアプリケーションは、ユーザーの代わりに私のサービスから情報を取得するAPI呼び出しを行うことができます。登録者クライアントアプリケーションの新しいユーザーとDoorkeeperで彼を承認

何私が達成したいことをできることクライアントアプリです:

  • このユーザーを承認し、承認コードで

を返すAPI専用のエンドポイント

  • 経由で私のアプリに新しいユーザーを登録1つまたは2つのコール、それは問題ではありません。

    ユーザーはDeviseによって管理されます。私はDevise Invitableを介してユーザーを作成する方法を見ていますが、skip_authorizationの設定でも認証される前にユーザーを認証する必要があるため、このユーザーにDoorkeeperを許可する方法がわかりません。 私はそれを達成するためのいくつかの助けやアイデアがほしいと思います。おかげ

  • 答えて

    0

    は最後に、私は守衛issuesで解決策を見つけた:

    app = Doorkeeper::Application.where(uid: params[:client_id]).first 
    access_token = Doorkeeper::AccessToken.create!({ 
        :application_id  => app.id, 
        :resource_owner_id => @user.id, 
        :scopes    => 'all', 
        :expires_in   => Doorkeeper.configuration.access_token_expires_in, 
        :use_refresh_token => Doorkeeper.configuration.refresh_token_enabled? 
    }) 
    @token_response = Doorkeeper::OAuth::TokenResponse.new(access_token) 
    puts @token_response.body 
    

    私は、ユーザーを作成するには、私のユーザーのサインアップのエンドポイントでこのコードを使用して、access_tokenは返すことができます。

    関連する問題