Créer la demande de prélèvement automatique
Utilisez ces informations pour créer une requête JWT pré-autorisée qui sera utilisée dans le flux de code pré-autorisé.
Réclamations relatives à la charge utile des demandes préautorisées
La charge utile de la requête préautorisée doit contenir les revendications suivantes.
| Nom de la réclamation | Descriptif | Valeurs valides |
|---|---|---|
| iss | Identifiant unique de l'émetteur du certificat d'authentification ayant émis le JWT | URI valide de l'émetteur des identifiants. |
| sub | Identificateur du sujet principal | Identificateur unique d'un utilisateur. |
| exp | Délai d'expiration du JWT | Nombre de secondes depuis le 1970-01-01T0:0:0Z, mesuré en temps universel coordonné. Remarque : la durée de validité du JWT ne peut pas dépasser 3 600 secondes à compter du moment présent.
|
| jti | Identificateur JWT | Chaîne opaque générée de manière aléatoire |
La charge utile de la requête préautorisée peut contenir les revendications suivantes.
| Nom de la réclamation | Descriptif | Valeurs valides |
|---|---|---|
| aud | L'émetteur du serveur d'autorisation est publié sur un point de terminaison bien connu. | URI valide de l'émetteur des identifiants. |
| sub_type | Type d'identifiant principal du sujet. | Soit « uid », « username » ou « 'externalId' ». La valeur par défaut est « uid ». |
| domaine | Domaine du sujet principal | Le domaine d'identité auquel appartient le sub . |
| iat | Heure de création du JWT | Nombre de secondes depuis le 1970-01-01T0:0:0Z, mesuré en temps universel coordonné. Remarque : la date de création du JWT ne peut pas remonter à plus de 3 600 secondes dans le passé.
|
| tx_code | Remplacement des paramètres préautorisés par l'émetteur des identifiants. | Un objet JSON contenant les revendications décrites dans le tableau des revendications du code de transaction. |
| État de l'émetteur | Une valeur opaque permettant d'associer le contexte de l'émetteur des identifiants au jeton d'accès généré. | Une chaîne quelconque. Il peut également s'agir d'un JWT. |
Cette tx_code demande ne prendra effet que si cette dérogation est autorisée dans les paramètres de préautorisation. Dans ce mode, lorsqu'une tx_code demande d'indemnisation est déposée, un code de transaction est généré. Les tables de codes de transaction décrivent les options de remplacement possibles.
| Nom de la réclamation | Descriptif | Valeur valide |
|---|---|---|
| mode_saisie | Déterminez le jeu de caractères du code de transaction. | Soit « numérique » (uniquement des chiffres), soit « texte » (alphanumérique) |
| longueur | Déterminez la longueur du code de transaction. | Une valeur numérique comprise entre 4 et 10 |
| description | Message que l'application de portefeuille doit afficher à l'utilisateur final. | N'importe quelle chaîne |
| canal | Expliquez comment communiquer le code de transaction à l'utilisateur final. | Un objet JSON contenant les revendications décrites dans le tableau 4 ci-dessous. |
Trois canaux sont disponibles pour transmettre le code de transaction : e-mail, SMS ou tout autre moyen déterminé par l'émetteur des identifiants. Dans ce dernier cas, le serveur d'autorisation se contente de renvoyer le code de transaction à l'émetteur des identifiants.
| Nom de la réclamation | Descriptif | Valeur valide |
|---|---|---|
| l'année en cours | Type de canal utilisé pour transmettre le code de transaction à l'utilisateur final. | Soit « e-mail », « SMS » ou « émetteur » |
| valeur | Adresse e-mail de l'utilisateur final (pour type = e-mail) ou numéro de téléphone (pour type = sms). |
Une adresse e-mail ou un numéro de téléphone valide. |
Exemple de charge utile d'une requête pré-autorisée
{
"iss": "https://www.credential-issuer.com",
"sub": "user@idsource.com",
"sub_type": "username",
"aud": "https://sometenant.ice.com/oauth2",
"exp": 1324298520,
"jti": "araiov8werli2awerlj",
"tx_code": {
"input_mode": "text",
"length": 6,
"description": "Please provide this transaction code:",
"channel": {
"type": "email",
"value": "bob@ibm.com"
},
},
"issuer_state": "sa82jpawfagnns"
}
Algorithmes pris en charge
La requête JWT pré-autorisée peut être signée à l'aide de l'un des algorithmes suivants : RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384 et PS512.
La validité de ce JWT est vérifiée à partir de l'URI JWKS de l'émetteur des identifiants. Assurez-vous que le JWT signé inclut l'en-tête kid permettant d'identifier de manière unique la clé utilisée, car l'URI JWKS peut publier plusieurs clés. La configuration de l'URI JWKS de l'émetteur de credentials s'effectue dans les paramètres de fédération. Vérifiez que l'identifiant de l'émetteur correspond à celui iss indiqué dans la charge utile de la requête.
Exemple de demande
curl -ki -X POST https://<tenantId>/oauth2/preauth --data "eyJhbGciOiJFUzI1NiIsImtpZCI6IjE2In0.eyJpc3Mi..." -H "Content-Type:application/jwt"