Configurer les demandes d’autorisation sécurisées par JWT (JAR)
Les demandes d’autorisation sécurisées par JWT (JAR) permettent de regrouper les paramètres de requête d’autorisation OAuth2 en un seul paramètre de requête JWT, qui est ensuite signé pour protéger l’intégrité.
Prérequis
Avant de configurer votre application pour utiliser JAR, vous devez générer une paire de clés RSA.
Configurer JAR pour une application
Vous pouvez configurer JAR pour une application avec Auth0 Dashboard et Management API.
Utilisez Auth0 Dashboard pour configurer votre application afin qu’elle utilise JAR avec les clés RSA déjà générées.
Naviguez jusqu’à Auth0 Dashboard > Applications.
Sélectionnez l’application à utiliser avec JAR.
Sélectionnez l’onglet Application Settings (Paramètres d’application).
Dans la section Authorization Requests (Demandes d’autorisation), activez Require JWT-Secured Authorization (Exiger l’autorisation sécurisée par JWT).
Si aucun identifiant n’est attribué et que des identifiants sont disponibles, vous serez invité à attribuer un identifiant existant.
Vous aurez également la possibilité d’attribuer un nouvel identiifant.
Ajoutez et attribuez un nouvel identifiant en téléversant une paire de clés RSA déjà générées. Lorsque vous y êtes invité, entrez ce qui suit :
Nom : nom permettant d’identifier l’identifiant
Clé publique : clé publique du certificat X.509 en format PEM
Algorithme : sélection de l’algorithme de signature JAR
Date d’expiration : définition de la date d’expiration de l’identifiant
Utilisez Management API pour configurer JAR pour votre application à l’aide de la propriété de configuration client signed_request_object
. Cette propriété d’objet contient les champs suivants :
required
(obligatoire) : oblige toutes les demandes d’autorisation vers/authorize
et/oauth/par
à utiliser JAR. Pour en savoir plus, lisez les articles Flux de code d’autorisation avec les demandes d’autorisation sécurisée par JWT et Flux de code d’autorisation avec PAR et JAR.credentials
(identifiants) : une série d’identifiants utilisés pour vérifier les signatures.
Vous pouvez configurer JAR pour une nouvelle application ou pour une application existante au moyen de Management API
Configurer JAR pour une nouvelle application
Lorsque vous créez une nouvelle application, configurez JAR en envoyant une demande POST contenant signed_request_object
. Dans cette demande, vous pouvez aussi enregistrer l’identifiant client correspondant (par exemple la clé PEM) :
POST https://{yourTenant}.auth0.com/api/v2/clients
Authorization: Bearer [YOUR ACCESS TOKEN]
Content-Type: application/json
{
"name": "My App using JAR",
"signed_request_object": {
"required": true,
"credentials": [{
"name": "My credential for JAR",
"credential_type": "public_key",
"pem": "[YOUR PEM FILE CONTENT]",
"alg": "RS256"
}]
},
"jwt_configuration": {
"alg": "RS256"
}
}
Was this helpful?
Configurer JAR pour une application existante
Lors de la mise à jour d’une application existante, vous devez d’abord créer un identifiant client de manière explicite. La demande POST suivante utilise le contenu de votre fichier PEM pour créer vos identifiants client pour JAR :
POST https://{yourTenant}.auth0.com/api/v2/clients/{yourClientId}/credentials
Authorization: Bearer [YOUR ACCESS TOKEN]
Content-Type: application/json
{
"name": "My credentials for JAR",
"credential_type": "public_key",
"pem": "[YOUR PEM FILE CONTENT]",
"alg": "RS256"
}
Was this helpful?
Attribuez ensuite les identifiants client à la configuration client signed_request_object
. La demande PATCH suivante associe les identifiants client à signed_request_object
:
PATCH https://{yourTenant}.auth0.com/api/v2/clients/{yourClientId}
Authorization: Bearer [YOUR ACCESS TOKEN]
Content-Type: application/json
{
"signed_request_object": {
"credentials": [{"id": "[YOUR CREDENTIAL ID]"}]
}
}
Was this helpful?