
![[8.5.5.4 oder höher]](../ng_v8554.gif)
UserInfo-Endpunkt für OpenID Connect aufrufen
Der UserInfo-Endpunkt gibt Ansprüche für einen Benutzer zurück, der mit der OpenID Connect-Authentifizierung authentifiziert wird.
Informationen zu diesem Vorgang
Um die Ansprüche für einen Benutzer zu erhalten, setzt ein Client eine Anforderung an den UserInfo-Endpunkt ab, indem er ein Zugriffstoken als Berechtigungsnachweis verwendet. Das Zugriffstoken muss über die OpenID Connect-Authentifizierung abgerufen werden. Die Ansprüche für den Benutzer, der durch das Zugriffstoken dargestellt wird, werden als JSON-Objekt zurückgegeben, das eine Sammlung von Name/Wert-Paaren für die Ansprüche enthält. Der UserInfo-Endpunkt ist eine mit OAuth 2.0 geschützte Ressource, d. h., dass der für den Zugriff auf den Endpunkt erforderliche Berechtigungsnachweis das Zugriffstoken ist.
Die Ansprüche, die vom UserInfo-Endpunkt zurückgegeben werden, können mit der Konfiguration des OpenID Connect-Providers angepasst werden. Weitere Informationen hierzu enthält der Abschnitt Vom UserInfo-Endpunkt zurückgegebene Ansprüche konfigurieren.
https://server.example.com:443/oidc/endpoint/<Providername>/userinfo
Vorgehensweise
- Konfigurieren Sie eine Authentifizierung mit einem über die OpenID Connect-Authentifizierung abgerufenen Zugriffstoken. Das Zugriffstoken kann im HTTP-Basisberechtigungsheader oder mit dem Anforderungsparameter access_token bereitgestellt werden. In beiden Fällen ist es nicht erforderlich, das Zugriffstoken zu codieren.
- Senden Sie die GET- oder POST-Anforderung an die UserInfo-Endpunkt-URL.
Ergebnisse
Bei gültigen Anforderungen gibt der UserInfo-Endpunkt die Antwort HTTP 200 mit einem JSON-Objekt im Format application/json zurück, das die Ansprüche enthält, die für den OpenID Connect-Provider konfiguriert sind.
Beispiel
Die folgenden Beispiele veranschaulichen Anforderungen mit einem gültigen Token und ungültigen Tokens.
- Anforderung, die den HTTP-Bearer-Berechtigungsheader für die Übergabe des Zugriffstoken verwendet
- Antwort für ein gültiges Zugriffstoken
- Ungültige Zugriffstokens
POST /register HTTP/1.1
Accept: application/x-www-form-urlencoded
Authorization: Bearer fAAdLO1c6QWDbPs9HrWHz5e7nRWVAnxqTTP7i88G
POST /register HTTP/1.1
Accept: application/x-www-form-urlencoded
access_token=fAAdLO1c6QWDbPs9HrWHz5e7nRWVAnxqTTP7i88G
Es hat sich bewährt, den HTTP-Berechtigungsheader anstelle des Anforderungsparameters access_token zu verwenden, weil HTTP-Anforderungsparameter, die möglicherweise sensible Informationen enthalten, in der Browserhistorie oder im Cache gespeichert werden können.
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"sub" : "bob",
"groupIds" : [ "bobsdepartment","administrators" ],
"given_name" : "Bob",
"name" : "Bob Smith",
"email" : "bob@mycompany.com",
"phone_number" : "+1 (604) 555-1234;ext5678",
"address" : { "formatted" : "123 Main St., Anytown, TX 77777" },
"picture" : "http://mycompany.com/bob_photo.jpg"
}
HTTP/1.1 401 Unauthorized
CONTENT-LENGTH : 0
WWW-AUTHENTICATE : Bearer error=invalid_token,
error_description=CWWKS1617E: Es wurde eine userinfo-Anforderung mit einem Zugriffstoken übergeben,
das nicht erkannt wurde. Die Anforderungs-URI ist
/oidc/endpoint/MyOAuthProvider/userinfo.