Tokenendpunkt für OpenID Connect aufrufen

Im OpenID Connect-Berechtigungscodeablauf verwendet ein Client den Tokenendpunkt, um ein ID-Token, ein Zugriffstoken und ein Aktualisierungstoken abzurufen.

Vorbereitende Schritte

Wenn der Tokenendpunkt über eine in den Browser integrierte Clientanwendung oder eine in einer Scriptsprache (z. B. JavaScript) implementierte Clientanwendung gestartet wird, ist es nicht erforderlich, einen Liberty-Server als OpenID Connect-Client zu konfigurieren.

Informationen zu diesem Vorgang

Der Tokenendpunkt akzeptiert eine Anforderung von dem Client, der einen Berechtigungscode einschließt, der vom Berechtigungsendpunkt an den Client ausgegeben wird. Wenn der Berechtigungscode validiert wird, werden die entsprechenden Token in einer Antwort an den Client zurückgegeben.

Der Tokenendpunkt wird nicht im impliziten Ablauf von OpenID Connect verwendet.

Ein Liberty-Server mit aktiviertem OpenID Connect hat unter der folgenden URL Zugriff auf den OpenID Connect-Tokenendpunkt:

 https://server.example.com:443/oidc/endpoint/<Providername>/token
Anmerkung: In diesem Beispiel ist 443 der erwartete SSL-Port des OP.Bei der gesamten Kommunikation mit dem Tokenendpunkt muss TLS verwendet werden.

Vorgehensweise

  1. Bereiten Sie eine HTTP-POST-Anforderung mit den folgenden Parametern vor:
    • grant_type: Der Wert dieses Parameters muss authorization_code sein.
    • code: Der vom Berechtigungsendpunkt empfangene Berechtigungscode.

    Die Parameter müssen im Format application/x-www-form-urlencoded hinzugefügt werden.

  2. Übergeben Sie die Anforderung an die Tokenendpunkt-URL.

Ergebnisse

Nachdem Sie diese Schritte ausgeführt haben, haben Sie eine gültige HTTP-POST-Anforderung, die an den Tokenendpunkt gesendet wird. Der Tokenendpunkt gibt eine Antwort zurück, wie im Abschnitt "Beispiele" beschrieben.

Wenn der OpenID Connect-Provider die vom Client empfangene Tokenanforderung validiert, gibt der OpenID Connect-Provider die Antwort "HTTP 200" mit einem JSON-Objekt im Format application/json an den Client zurück. Die Antwort enthält das ID-Token, das Zugriffstoken und das Aktualisierungstoken zusammen mit den folgenden zusätzlichen Parametern:

  • token_type: OAuth 2.0-Tokentyp. Für OpenID Connect ist dieser Wert Bearer.
  • expires_in: Ablaufzeit des Zugriffstokens in Sekunden seit Generierung der Antwort.

Für alle Antworten des Tokenendpunkts, die Token, geheime Schlüssel oder andere sensible Informationen enthalten, ist der Wert des Cache-Control-Headers auf no-store und der Wert des Pragma-Headers auf no-cache gesetzt.

.

Beispiel

Es folgen Beispiele für eine HTTP-POST-Anforderung und eine Antwort.

Beispielanforderung:

 POST /token HTTP/1.1
 Content-Type: application/x-www-form-urlencoded
 Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
     grant_type=authorization_code
     &code=SplxlOBeZQQYbYS6WxSbIA 		
     &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb

Beispielantwort:

 HTTP/1.1 200 OK
 Content-Type: application/json
 Cache-Control: no-store
 Pragma: no-cache
 {
     "access_token": "SlAV32hkKG",
     "token_type": "Bearer",
     "refresh_token": "8xLOxBtZp8",
     "expires_in": 3600,
     "id_token": "eyJ ... zcifQ.ewo ... NzAKfQ.ggW8h ... Mzqg"
 }

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_oidc_token_endpoint
Dateiname: twlp_oidc_token_endpoint.html