Vous consultez la documentation d'Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
Vous pouvez utiliser le service Edge OAuth2 pour échanger vos identifiants contre un jeton d'accès et d'actualisation que vous utilisez ensuite pour appeler les points de terminaison Edge dans votre OAuth.
En plus des techniques décrites dans cette section, vous pouvez également utiliser les utilitaires acurl et get_token
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 SAML dans Edge for Public Cloud, vous doit 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 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. Un nom d'utilisateur et un mot de passe ou un code secret sont requis. | Votre nom d'utilisateur Apigee, qui est généralement l'adresse e-mail associée à votre compte Apigee. |
password |
Facultatif. Un nom d'utilisateur et un mot de passe ou un code secret sont requis. | Mot de passe de votre compte Apigee. |
mfa_token |
Optional | Un code d'authentification multifacteur (MFA) valide pour votre compte Obligatoire uniquement si vous avez Authentification multifacteur activée. |
passcode |
Facultatif. Veuillez saisir un nom d'utilisateur et un mot de passe, ou un code secret. | Un code secret à usage unique que vous pouvez utiliser à la place d'un mot de passe. Un code secret est requis lors de l'authentification avec un IdP SAML et peut être utilisé pour s'authentifier auprès d'un IdP LDAP. |
grant_type |
Obligatoire | Détermine si vous devez obtenir un nouveau jeton d'accès ou actualiser le jeton existant. Les valeurs valides sont les suivantes :
|
refresh_token |
Facultatif | Jeton que vous transmettez pour obtenir un nouveau jeton d'accès lorsque le jeton d'accès actuel a
est arrivé à expiration. 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_type
sur "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 MFA
Pour obtenir un nouveau jeton d'accès avec l'authentification multifacteur (MFA) activée, obtenez le code MFA, puis définissez le paramètre
mfa_token
sur 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_type
sur "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
Si l'opération aboutit, 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:
- Utiliser
access_token
dans les appels à l'API Edge - Utilisez le
refresh_token
lorsque votre jeton d'accès expire et que vous devez l'actualiser
Si vous recevez une réponse semblable à celle-ci :
{ "error": "unauthorized", "error_description": "Bad credentials" }
Veillez à utiliser exactement la chaîne ci-dessus ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") pour le paramètre
Authorization
dans votre requête.