Erstellen Sie das Client-Secret-JWT und den privaten Schlüssel-JWT

Erstellen Sie mithilfe der Informationen in diesem Abschnitt ein JWT mit einem geheimen Clientschlüssel und ein JWT mit einem privaten Schlüssel für die Clientauthentifizierung.

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 Die Client-ID.
sub Subjekt-ID des Prinzipals Die Client-ID.
aud Der gültige Wert ist der Aussteller des Autorisierungsservers, wie er am bekannten Endpunkt veröffentlicht ist (https://<tenantId>/oidc/endpoint/default/.well-known/openid-configuration). https://<tenantId>/oidc/endpoint/default
exp JWT-Ablaufzeit 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 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: Der Erstellungszeitpunkt des JWT darf nicht mehr als 86.400 Sekunden in der Vergangenheit liegen.

Beispiel für JWT-Nutzdaten

```
{
  "iss": "29e81c80-b507-463c-b542-5a1177b37808",
  "sub": "29e81c80-b507-463c-b542-5a1177b37808",
  "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
Das JWT muss signiert werden. 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.

Stellen Sie sicher, dass das signierte JWT den Header kid umfasst, um den verwendeten Schlüssel eindeutig identifizieren zu können.

Beispiel für Anforderung

Nachdem das JWT-Token erstellt wurde, kann eine Anforderung an den Tokenendpunkt übergeben werden, indem dieses JWT als Clientzusicherung verwendet wird.
```
curl -ki https://<tenantId>/v1.0/endpoint/default/token
 -d "grant_type=password&client_id=87df91dc-63de-4765-8701-b59cc8bd9e11&scope=openid
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=eyJhbGci..."
```

Der client_assertion_type muss immer urn:ietf:params:oauth:client-assertion-type:jwt-bearer sein.