2017-05-03 6 views
1

Mit Kong API Gateway habe ich das OAuth2-Plug-in allen APIs hinzugefügt, um einen Token für den Zugriff auf diese APIs zu erhalten.Zugriff auf mehrere APIs mit einem Token in Kong mithilfe des OAuth2-Plugins mit Clientanmeldeinformationen Fluss

Als ich nennen: www.example.com/oauth2/token mit den erforderlichen Feldern: grant type, client id und client secret

es mich zwingt die API hinzuzufügen: www.example.com/apiendpoint/oauth2/token

Leider hat das generierte Token nur Zugriff auf die spezifische API.

Ich habe versucht:

www.example.com/apis/oauth2/token 
www.example.com/token 

Neben der Überprüfung der neuesten API Dos: https://getkong.org/docs/0.10.x/admin-api/ von denen keines gearbeitet.

Ist es möglich, ein Token für den Zugriff auf alle APIs zu generieren, und wenn ja, wie?

Antwort

1

Dies ist mit Kong heute nicht möglich - Sie können gern die Ausgabe https://github.com/Mashape/kong/issues öffnen, um die Sichtbarkeit Ihrer Anfrage bei der Kong-Community zu erhöhen.

+0

Cheers Cooper. Ich habe es geschafft, es zu umgehen, indem ich das key-auth-Plugin für alle APIs und das acl-Plugin für einzelne Endpunkte installiert habe. Es scheint gut zu funktionieren, da ein Schlüssel abhängig von der acl-Gruppe auf mehrere APIs zugreifen kann. –

0

Für Leute, die suchen, wie man das macht.

Ein Weg, um zu erreichen, was wurde, indem Sie einen Beitrag auf dem Admin-API gefragt ist:

$ curl -X POST http://kong:8001/oauth2_tokens \ 
    --data "api_id=API-ID" \ 
    --data "scope=SOME-SCOPE" \ 
    --data "credential_id=KONG-APPLICATION-ID" \ 
    --data "token_type=bearer" \ 
    --data "access_token=SOME-TOKEN" \ 
    --data "refresh_token=SOME-TOKEN" \ 
    --data "expires_in=3600" 

diese Weise können Sie ein Token in der gewünschten APIs einstellen.

Die KONG-APPLICATION-ID finden Sie im/consumers/Consumername/oauth2 API-Punkt.

+0

Dies sollte funktionieren, aber es ist eher eine Art des Hackens, da es alle von Kong generierten Tokens für jede involvierte API überschreibt. –

+0

Ich verwende diese Methode und die vorhandenen Token bleiben gleich. – Daniel

Verwandte Themen