Erstellen Sie das JWT-Bearer-Token

Erstellen Sie mithilfe der Informationen in diesem Abschnitt das JWT-Trägertoken, das im JWT-Trägerablauf verwendet wird.

Ansprüche für JWT-Trägernutzdaten

Die JWT-Trägernutzdaten müssen die folgenden Ansprüche enthalten:
Tabelle 1. MUST-Ansprüche
Name des Anspruchs Beschreibung Gültige Werte
iss Eindeutige ID für die Entität, die das JWT ausgestellt hat Der gültige URI des JWT-Ausstellers
sub Subjekt-ID des Prinzipals Die eindeutige ID eines Benutzers
aud OIDC-Endpunkt, der aufgerufen wird https://<tenantId>/oidc/endpoint/default/token
exp JWT-Ablaufzeit Die Anzahl Sekunden ab 1970-01-01T0:0:0Z, gemessen in UTC.
Hinweis: Die Ablaufzeit des JWT darf nicht mehr als 86.400 Sekunden in der Zukunft liegen.
jti JWT-ID Eine nach dem Zufallsprinzip generierte opake Zeichenfolge.
Die JWT-Trägernutzdaten können die folgenden Ansprüche enthalten:
Tabelle 2. MAY behauptet
Name des Anspruchs Beschreibung Gültige Werte
nbf Zeitpunkt, vor dem JWT nicht akzeptiert wird Die Anzahl Sekunden ab 1970-01-01T0:0:0Z, gemessen in UTC.
iat JWT-Erstellungszeit Die Anzahl Sekunden ab 1970-01-01T0:0:0Z, gemessen in UTC.
Hinweis: Die Ablaufzeit des JWT darf nicht mehr als 86400 Sekunden in der Vergangenheit liegen.
Realm Subjektrealm des Prinzipals Das Identitätsquellenrealm, zu dem das Subjekt (sub) gehört

Beispiel für JWT-Trägernutzdaten

```
{
  "iss": "https://www.relyingparty.com",
  "sub": "user@idsource.com",
  "aud": "https://sometenant.ice.com/oidc/endpoint/default/token",
  "exp": 1324298520,
  "jti": "araiov8werli2awerlj"
}
```

Unterstützte Algorithmen

Tabelle 3. Unterstützte Algorithmen
Zweck Unterstützte Algorithmen
JWS-Algorithmus (alg) für Signieren 'RS256', 'RS384', 'RS512', 'HS256', 'HS384', 'HS512', 'PS256', 'PS384', 'PS512'
JWE-Algorithmus (alg) für Schlüsselverwaltung 'RSA1_5', 'RSA-OAEP', 'RSA-OAEP-256', 'A128KW', 'A192KW', 'A256KW', 'A128GCMKW', 'A192GCMKW', 'A256GCMKW'
JWE-Verschlüsselungsalgorithmus (enc) für Inhaltsverschlüsselung 'A128GCM', 'A192GCM', 'A256GCM'
Hinweis: Wenn das JWT-Bearer-Token sowohl signiert als auch verschlüsselt ist, muss der JWE-Header (das äußere JWT) durch die Einstellung des Content-Type-Headers auf „JWT“ angeben, dass es sich um ein verschachteltes JWT handelt. Beispiel: 'cty':'JWT'.
Der JWT-Träger muss signiert und/oder verschlüsselt sein. Stellen Sie sicher, dass der Schlüssel, der zum Signieren des JWT verwendet wird, im jwks_uri publiziert ist. Wenn der jwks_uri nicht verfügbar ist, fügen Sie das öffentliche Zertifikat dem System hinzu. Siehe Zertifikate verwalten.

Wenn der JWT-Bearer verschlüsselt ist und ein asymmetrischer Algorithmus verwendet wird, können die öffentlichen Schlüssel verwendet werden, die am Endpunkt https://<tenantId>/v1.0/endpoint/default/jwks „jwks“ des Connect-Anbieters unter OpenID veröffentlicht sind. Stellen Sie sicher, dass das signierte oder verschlüsselte JWT den Header kid umfasst, um den verwendeten Schlüssel eindeutig identifizieren zu können.

Beispiel für Anforderung

Nachdem das JWT-Trägertoken erstellt wurde, kann eine Anforderung an den Tokenendpunkt übergeben werden, um das JWT-Trägertoken gegen ein Zugriffstoken auszutauschen.
```
curl -ki https://<tenantId>/v1.0/endpoint/default/token
 -d "grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt
-bearer&client_secret=<secret>&client_id=<clientId>
&scope=openid+email&assertion=eyJhbGciOiJFUzI1NiIsImtpZCI6IjE2In0.eyJpc3Mi..."
```