So rufen Sie den JHipster (Spring) OAuth2 Rest-Server mithilfe von Postman Authentication-Helfern auf

8

Postbot hat Authentifizierungshelfer , um bei authentifizierten Anrufen zu helfen, und ich versuche, OAuth 2.0-Helfer , um einen REST-Server aufzurufen, der von JHipster mithilfe von Spring erstellt wurde (Sicherheit, Sozial, usw.).

Ich habe viele Konfigurationen ausprobiert, dies ist der Bildschirm (Client ID und Secret wurden maskiert):

Für die Autorisierungs-URL habe ich versucht:

Je näher ich komme, wenn ich ein Token zurück an Postman erhalte, ist:

Ich weiß nicht, warum es so läuft. Vielleicht setze ich die Callback-URL falsch? Muss ich dies auf dem Server oder im Client (AngularJS) tun?

Hat jemand eine Vorstellung davon, was falsch ist? Ich schätze deine Hilfe.

    
denisazevedo 06.01.2016, 04:46
quelle

2 Antworten

17

JHipster ist derzeit so eingerichtet, dass er den Erteilungsmodus "password" oauth2 verwendet. Der Helper oauth2 helper scheint nur mit den Berechtigungscodes "authorization code" und "client credentials" zu funktionieren.

Sie möchten zunächst den Token-Endpunkt Ihrer App direkt aufrufen, wie es bei der eckigen App der Fall ist src / main / webapp / scripts / komponenten / auth / provider / auth.oauth2.service.js

%Vor%

, wobei Ihr Benutzername und Ihr Passwort beispielsweise "user" bzw. "user" sein können und mit einem Headersatz:

%Vor%

wo AAAAAA ist Ihr (clientId + ":" + clientSecret) - alle Base64-codiert. Sie können Ссылка verwenden. Wenn Ihre clientId beispielsweise "jhipsterapp" ist und Ihr clientSecret "mySecretOAuthSecret" ist, ersetzen Sie AAAAAA durch "amhpcHN0ZXJhcHA6bXlTZWNyZXRPQXV0aFNlY3JldA ==", da dies "jhipsterapp: mySecretOAuthSecret" base64-encoded ist.

Das sollte Ihnen ein access_token zurückgeben. Nun treffen Sie Ihre API-Endpunkte, indem Sie sie mit dem access_token von Ihrer Passwort-Anfrage in Ihrem Header wie folgt aufrufen.

%Vor%

Update: Wenn Sie Microservices und UAA verwenden, dann sehen Sie Niels Antwort Ссылка

    
sdoxsee 17.01.2016 03:15
quelle
3

Um auf @ sdoxsees Antwort aufzubauen:

Aktuell (August 2017) JHipster generiert eine Klasse namens UaaConfiguration mit der Methode configure(ClientDetailsServiceConfigurer) , die die Client-ID, den geheimen Schlüssel, den Gültigkeitsbereich und den Grant-Typ festlegt. Beziehen Sie sich auf diese Einstellungen (einschließlich der referenzierten JHipster-Eigenschaften in application*.yml ), um den Postman-Authentifizierungshelfer mit /oauth/token als Auth-URL und Access Token URL zu füllen.

Beispiel:

%Vor%

Und

%Vor%

Bedeutet, dass Ihr Authentifizierungshelfer wie folgt gefüllt sein sollte:

    
Niel de Wet 07.08.2017 14:48
quelle