Type de droit Données d'identification du client
Utilisez ce type d'autorisation lorsque la portée d'autorisation est limitée aux ressources protégées sous le contrôle du client ou aux ressources protégées enregistrées avec le serveur d'autorisation OAuth.
Le diagramme suivant présente le flux Client Credentials Grant Type (Type d'octroi de données d'identification de client).

Dans ce flux OAuth :
-
Un événement lancé par le client (par exemple, une mise à jour en arrière-plan programmée pour une application sur votre appareil mobile) demande l'accès à une ressource protégée à partir d'une application client OAuth.
-
L'application client présente ses propres données d'identification pour obtenir un jeton d'accès et souvent un jeton d'actualisation. Ce jeton d'accès est associé aux ressources propres du client, et non à un responsable de ressource particulier, ou est associé à un responsable de ressource pour lequel l'application client est autorisée à agir.
-
Le serveur d'autorisation retourne le jeton d'accès à l'application client.
-
L'application client utilise le jeton d'accès dans un appel d'API pour mettre à jour l'application sur votre appareil.
Fonction | Disponible |
---|---|
Nécessite l'authentification client | Oui |
Nécessite que le client connaisse les données d'identification de l'utilisateur | Non |
Interaction de l'utilisateur final basée sur le navigateur | Non |
Peut utiliser un fournisseur d'identités externe pour l'authentification | Non |
Actualiser le jeton est autorisé | Non |
Le jeton d'accès est dans le contexte de l'application client | Oui |
Voir Exemple de flux d'autorisation de type de droit Données d'identification du client pour un exemple de flux.
Exemple de flux d'autorisation de type de droit Données d'identification du client
Le type d'octroi Données d'identification du client fournit un flux d'octroi spécifique dans lequel le responsable de la ressource n'est pas impliqué. Dans cet exemple de scénario, l'application client exécute des processus qui n'ont pas de participation de responsable de ressource, par exemple, un processus par lots ou une tâche serveur-serveur.
Lors de l'utilisation de cette autorisation, l'application client demande un jeton d'accès avec ses propres données d'identification (ID et clé secrète) ou une assertion, et utilise le jeton d'accès pour le compte de l'application client elle-même. Ce flux d'octroi est mieux adapté lorsqu'un fournisseur de services souhaite fournir certaines méthodes d'API qui doivent être utilisées par l'application client en général, plutôt que des méthodes qui s'appliquent à un certain propriétaire de ressource, par exemple, des méthodes d'API pour la maintenance.
Lorsque vous créez une application à l'aide du type d'autorisation Données d'identification de client dans la console du domaine d'identité :
-
Spécifiez Application approuvée comme type d'application, car une application mobile/navigateur n'a pas de clé secrète client et ne peut pas utiliser l'autorisation Données d'identification de client.
-
Sélectionnez Données d'identification du client comme type d'autorisation.
Voir Type d'octroi de données d'identification de client pour plus d'informations sur le type d'octroi de données d'identification de client et un diagramme de flux d'autorisation.
Flux d'autorisation
-
Un événement lancé par le client (par exemple, une tâche programmée) demande l'accès aux ressources protégées à partir d'une application client OAuth.
L'URL de l'événement contient des paramètres d'interrogation qui indiquent le type d'accès demandé :
Exemple de demande à l'aide de l'en-tête d'autorisation
curl -i -H 'Authorization: Basic <base64Encoded clientid:secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<domainURL>/oauth2/v1/token -d 'grant_type=client_credentials&scope=<scope value>'
Exemple de demande utilisant une assertion de client JWT
curl -i -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<domainURL>/oauth2/v1/token -d 'grant_type=client_credentials&client_id=<client-id>&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=<client-assertion>&scope=<scope value>'
Exemple de demande utilisant mTLS
Pour savoir comment obtenir
secureDomainURL
, voir Types d'autorisation d'accès.curl -v \ --cert cert.crt \ --key key.key \ --cacert ca.crt \ --location '<secureDomainURL>/oauth2/v1/token' \ --header 'Authorization: Basic <base64Encoded clientid:secret>' --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=client_credentials' \ --data-urlencode 'client_id=<client-id>' \ --data-urlencode 'scope=urn:opc:idm:_myscopes_'
- L'application client demande un jeton d'accès au serveur d'autorisation OAuth.
- Le serveur d'autorisation OAuth authentifie l'application client en fonction de l'en-tête d'autorisation ou de l'assertion envoyée et retourne un jeton d'accès contenant toutes les étendues applicables en fonction des privilèges représentés par les rôles d'application accordés à l'application client requérante.
- L'application client utilise le jeton d'accès pour effectuer une demande.