2016-09-27 5 views
0

Ich versuche OAuth 2.0 und OpenID Connect zu verstehen und habe eine wichtige Frage: Wie kommunizieren OpenID Connect Endpoints miteinander?Kommunikation zwischen Openid Connect Endpunkten

Beispiel: Im Falle eines Authorization Code Flow, wenn der Authorization EndPoint dem Client ein access_token gibt, sendet dieser das Token an UserInfo Endpoint, um Benutzerinformationen zu erhalten. Die Frage hier ist also, wie UserInfo Endpoint überprüfen kann, ob das vom Kunden ausgegebene access_token das richtige ist? Gibt es in der Kommunikation zwischen diesen beiden Endpunkten?

Danke für die Beantwortung.

Antwort

1

UserInfo Endpoint muss in der Lage sein, Zugriffstokens zu interpretieren, die von Authorization Endpoint oder Token Endpoint ausgegeben werden.

In einer einfachen Implementierung sind alle Endpunkte auf einem Server implementiert. In diesem Fall kann UserInfo Endpoint Informationen zu Zugriffstoken einfach abrufen, indem er auf die gleiche Datenbanktabelle verweist, in der Zugriffstoken gespeichert sind, die vom Autorisierungsendpunkt oder Token-Endpunkt ausgegeben wurden.

Wenn andererseits Autorisierungsendpunkt und Tokenendpunkt auf einem Autorisierungsserver implementiert sind und UserInfo Endpoint auf einem Ressourcenserver implementiert ist, muss der Ressourcenserver den Autorisierungsserver anfragen, um Informationen zu Zugriffstoken zu erhalten. RFC 7662 (OAuth 2.0 Token Introspection) ist der Standard, der definiert, wie Informationen zu einem Zugriffstoken von einem Autorisierungsserver abgerufen werden.

RFC 7662 ist der Standard für Token-Introspektion, aber Implementierer von Autorisierungs-/Ressourcenservern haben nicht unbedingt eine starke Motivation, die Spezifikation zu unterstützen. Siehe "4. Introspect Access Token", wenn Sie daran interessiert sind, warum.

BTW, im Berechtigungscodefluss wird ein Zugriffstoken nicht vom Autorisierungsendpunkt, sondern vom Token Endpoint ausgegeben. Was vom Autorisierungsendpunkt im Flow ausgegeben wird, ist ein Autorisierungscode (kein Zugriffstoken).

+0

Vielen Dank für diese Erklärung. – isedrof