Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Vous pouvez utiliser le service Edge OAuth2 pour échanger vos identifiants contre un jeton d'accès et un jeton d'actualisation que vous utiliserez ensuite pour appeler des points de terminaison Edge dans vos OAuth.
En plus des techniques décrites dans cette section, vous pouvez également utiliser les
acurl et
get_token utilitaires pour obtenir des jetons OAuth2.
Chemin
POST https://login.apigee.com/oauth/token
Si vous accédez au service Edge OAuth2 à partir d'une organisation compatible avec SAML dans Edge pour le cloud public, vous devez inclure le nom de la zone dans votre chemin d'accès. Exemple :
POST https://zone.login.apigee.com/oauth/token
En-têtes de requête
| Paramètre | Valeur |
|---|---|
Content-Type |
"application/x-www-form-urlencoded" |
Accept |
"application/json;charset=utf-8" |
Authorization |
"Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" Vous pouvez exporter cette valeur vers une variable d'environnement afin de pouvoir la réutiliser dans ces appels d'API. Exemple : export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0 curl ... -H "Authorization: Basic $CLIENT_AUTH" ... |
Paramètres de formulaire
| Paramètre | Obligatoire ? | Valeur |
|---|---|---|
username |
Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret est obligatoire. | Votre nom d'utilisateur Apigee, qui correspond généralement à l'adresse e-mail associée à votre compte Apigee. |
password |
Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret est obligatoire. | Le mot de passe de votre compte Apigee. |
mfa_token |
Facultatif | Un code d'authentification multifacteur (MFA) valide pour votre compte. Obligatoire uniquement si vous avez activé la MFA. |
passcode |
Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret est obligatoire. | Un code secret à usage unique que vous pouvez utiliser à la place d'un mot de passe. Un code secret est obligatoire lors de l'authentification auprès d'un fournisseur d'identité SAML et peut être utilisé pour l'authentification auprès d'un fournisseur d'identité LDAP. |
grant_type |
Obligatoire | Détermine si vous obtenez un nouveau jeton d'accès ou si vous actualisez le jeton existant. Les valeurs valides sont les suivantes :
|
refresh_token |
Facultatif | Le jeton que vous transmettez pour obtenir un nouveau jeton d'accès lorsque le jeton d'accès actuel a
expiré. Ce paramètre est obligatoire lorsque grant_type est défini sur "refresh_token". |
Exemples
Obtenir un nouveau jeton d'accès
Pour obtenir un nouveau jeton d'accès, définissez
grant_typesur "password" : curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Obtenir un nouveau jeton d'accès avec la MFA
Pour obtenir un nouveau jeton d'accès avec la MFA (authentification multifacteur) activée, obtenez le code MFA puis définissez le paramètre
mfa_tokensur sa valeur : curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token?mfa_token=424242 \ -d 'username=ahamilton@example.com&password=mypassw0rd&grant_type=password'
Actualiser un jeton d'accès
Pour actualiser un jeton d'accès, définissez
grant_typesur "refresh_token" et ajoutez votre jeton d'actualisation existant en tant que paramètre de formulaire : curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" \ -X POST https://login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN'Notez que vous n'avez pas besoin de transmettre vos identifiants lorsque vous actualisez votre jeton d'accès.
Réponses
En cas de succès, vous recevrez un jeton d'accès, un jeton d'actualisation et des informations associées. Exemple :
{ "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOimYyD8IP2IyYS1jNmNiLTQ4NTgtYjZkMS1mZjkyNGFkYTk1YWUiLCJzdWIiOiI0X0KLSNjZlNjM0ZC0zZjlhLTRiNYmFjNi1kYjE2M2M5OGEzOGYiLCJzY29wZSI6WyJzYbmlkIiwicGFzc3dvcmQud3JpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsImNpZCI6ImVkZ2VjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iYWM2LWRiMTYzYzk4YTM4ZiIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoid3dpdG1hbkBhcGlnZWUuY29tIiwiZW1haWwiOiJ3d2l0bWFuQGFwaWdlZS5jb20iLCJhdXRoX3RpbWUiOjE0NzMyNjU4NzcsImFsIjoyLCJyZXZfc2lnIjoiZTc0ZGY0M2QiLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3MzI2NzY3NywiaXNzIjoiaHR0cHM6Ly9sb2dpbi5hcGlnZWUuY29tL29hdXRoL3Rva2VuIiwiemlkIjoidWFhIiwi2ltLm1lIiwib3BlYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.AFuevkeGGUGSPED8leyEKaT-xg1xk_VEiKJLEpipVvQBXIqEc9wqcpm-ZuoatA9DhjASRuFSRaHH8Fasx_vBxEBsUNhRY-GTMw7_8fv4yRMOb2AO3WUl_NWwPkC8XRSI1zCMbAZicojsJ1n3OSP487Mu9dl9ByX5A_QfHV2_cj4l9-SD7u6vOdfdbBxbNMAQkfZLrVIEU8myF2dhKnNeMiuoHSHANsQFcx0_BFA1HnSUnVi4RYj1FlTs9SbcPnS1d7t7eVdxWz_q2OFVXNIBMELAvvM0WhXPYTW3Osve3UvvUs6ekGs-K-RCPSok-4-NJbdCDpZQQTgqHsrf77NTsw", "token_type": "bearer", "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZTIIMZWI0ZS00YzFmLTRjOTEtYmY5Mi1mMzZLEMzNjZhMDctciIsInN1YiI6IjQ2NmU2MzRkLTNmOWEtNGI0MS1iY17LLWRiMTYzYzk4YTM4ZiIsInNjb3BlIjpbInNjaW0ubWUiLCJvcGVuaWQiLCJwYXNzd29yZC53cml0ZSIsImFwcHJvdmFscy5tZSIsIm9hdXRoLmFwcHJvdmFscyJdLCJpYXQiOjE0NzMyNjU4NzcsImV4cCI6MTQ3NsaSIsImNsaWVudF9pZCI6ImVkZ2VjbGkiLCJpc3MiOiJodHRwczovL2xvZ2luLmFwaWdlZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX25hbWUiOiJ3d2l0bWFuQGFwaWdlZS5jbMzM1MDQ3NywiY2lkIjoiZWRnZW20iLCJvcmlnaW4iOiJ1c2VyZ3JpZCIsInVzZXJfaWQiOiI0NjZlNjM0ZC0zZjlhLTRiNDEtYmFjNi1kYjE2M2M5OGEzOGYiLCJhbCI6MiwicmV2X3NpZyI6ImU3NGRmNDNkIiwiYXVkIjpbImVkZ2VjbGkiLCJzY2ltIiwib3BlbmlkIiwicGFzc3dvcmQiLCJhcHByb3ZhbHMiLCJvYXV0aCJdfQ.kBP5AkbRS7Tnp-5VAfTLVfkUbUer4gFEU6A7g202KTKiXbqTwPSmOIGFTK12XevVPQYmAaSMFAnempWKfY7sjaY7HC7q3mGl53_A18cnkKhtNq15wCnyMom_bX_MYLW1RQPFytJ6akSJ-JkoPFU0x_FQg1JIvub1A8eqQxcR0KP-QRCxYAS4HTjH80vDIxHNt1tg7clmpa3RlHri0dlPVVsSpTXXhkpXRg5QbiWMrpkACSV22c0x0KiNu7vx5A520VOCO7hQ7IzmVIcSWcRqI97L7WdCjH_q4105bs2qmW73670MC0UGiJ9t5B1S1cxwqpUEd-NAuCsY8SVn6eWzbA", "expires_in": 1799, "scope": "scim.me openid password.write approvals.me oauth.approvals", "jti": "9bf2cb2a-c6cb-4858-b6d1-ff924ada95ae" }
Enregistrez les valeurs de réponse :
- Utilisez
access_tokendans les appels à l'API Edge. - Utilisez le
refresh_tokenlorsque votre jeton d'accès expire et que vous devez l' actualiser.
Si vous obtenez une réponse comme celle-ci :
{
"error": "unauthorized",
"error_description": "Bad credentials"
}Assurez-vous d'avoir utilisé la chaîne exacte indiquée ci-dessus ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") pour l'
Authorization de votre requête.