2017-11-29 2 views
0

My Rails App ist ein oauth Anbieter mit Doorkeeper. Von Kunden registrierte Apps können API-Aufrufe durchführen, um im Auftrag des Benutzers Informationen von meinem Dienst abzurufen.Registrier neuer Benutzer von Client-App und autorisieren ihn mit Doorkeeper

Was ich will, erreichen, ist Client-Anwendung in der Lage zu:

  • Neuen Benutzer registrieren auf meine App via API gewidmet Endpunkt
  • den Benutzer autorisieren und das Rück einen Autorisierungscode

In ein oder zwei Anrufe, es spielt keine Rolle.

Benutzer werden von Devise verwaltet. Ich sehe, wie ich Benutzer über Devise Invitable erstellen kann, aber ich weiß nicht, wie ich diesen Benutzer mit Doorkeeper autorisieren kann, da der Benutzer authentifiziert werden muss, bevor er auch mit skip_authorization config autorisiert wird. Ich hätte gerne Hilfe oder nur Ideen, um das zu erreichen. Dank

Antwort

0

Schließlich fand ich eine Lösung in Pförtner 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 

ich diesen Code in Endpunkt verwenden können meine Benutzer registrieren Benutzer zu erstellen und dann wieder access_token.

Verwandte Themen