Jetonları almak için Edge OAuth2 hizmetini kullanma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Kimlik bilgilerinizi erişim ve yenileme jetonuyla değiştirmek için Edge OAuth2 hizmetini kullanabilirsiniz. Bu jetonu daha sonra OAuth iş akışlarınızda Edge uç noktalarını çağırmak için kullanabilirsiniz.

Bu bölümde açıklanan tekniklerin yanı sıra OAuth2 jetonları almak için acurl ve get_token yardımcı programlarını da kullanabilirsiniz.

Path

POST https://login.apigee.com/oauth/token

Edge OAuth2 hizmetine, Genel Bulut için Edge'de SAML özellikli bir kuruluştan erişiyorsanız yolunuzdaki alt bölge adını içermelidir. Örneğin:

POST https://zone.login.apigee.com/oauth/token

İstek üst bilgileri

Parametre Değer
Content-Type "application/x-www-form-urlencoded"
Accept "application/json;charset=utf-8"
Authorization

"Temel ZWRnZWNsaTplZGdlY2xpc2VjcmV0"

Bu değeri bir ortam değişkenine aktararak bu API çağrılarında yeniden kullanabilirsiniz. Örneğin:

export CLIENT_AUTH=ZWRnZWNsaTplZGdlY2xpc2VjcmV0
curl ... -H "Authorization: Basic $CLIENT_AUTH" ...

Form parametreleri

Parametre Zorunlu mu? Değer
username İsteğe bağlı. Kullanıcı adı ve şifre kombinasyonu veya şifre kodu gereklidir. Apigee kullanıcı adınız (genellikle Apigee hesabınızla ilişkili e-posta adresidir).
password İsteğe bağlı. Kullanıcı adı ve şifre kombinasyonu veya şifre kodu gereklidir. Apigee hesabınızın şifresi.
mfa_token İsteğe bağlı Hesabınız için geçerli bir çok faktörlü kimlik doğrulama (MFA) kodu. Yalnızca MFA'yı etkinleştirdiyseniz gereklidir.
passcode İsteğe bağlı. Kullanıcı adı ve şifre kombinasyonu veya şifre kodu gereklidir. Şifre yerine kullanabileceğiniz tek kullanımlık şifre kodu. SAML IdP ile kimlik doğrulama yaparken geçiş kodu gerekir ve LDAP IdP ile kimlik doğrulama yapmak için kullanılabilir.
grant_type Zorunlu

Yeni bir erişim jetonu alıp almayacağınızı veya mevcut jetonu yenileyip yenilemeyeceğinizi belirler. Geçerli değerler:

  • "password": Yeni bir erişim jetonu alın. grant_type "password" olduğunda, isteğe Apigee kimlik bilgilerinizi eklemeniz gerekir.
  • "refresh_token": Yeni bir erişim jetonu almak için yenileme jetonu gönderin. Zaman grant_type "refresh_token" değerine sahip olduğu için kimlik bilgileri olabilir.
refresh_token İsteğe bağlı Geçerli erişim jetonunun süresi dolduğunda yeni bir erişim jetonu almak için ilettiğiniz jeton. grant_type "refresh_token" olduğunda bu parametre gereklidir.

Örnekler

Yeni bir erişim jetonu almak için grant_type değerini "password" olarak ayarlayın:

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'

MFA (çok faktörlü kimlik doğrulaması) etkinken yeni bir erişim jetonu almak için MFA kodunu alın ve ardından mfa_token parametresini değerine ayarlayın:

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'

Bir erişim jetonunu yenilemek için grant_type parametresini "refresh_token" olarak ayarlayın ve mevcut yenileme jetonunuzu form parametresi olarak ekleyin:

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'

Erişim kodunuzu yenilerken kimlik bilgilerinizi iletmeniz gerekmediğini unutmayın.

Yanıtlar

İşlem başarılı olursa bir erişim jetonu, yenileme jetonu ve ilgili bilgileri alırsınız. Örneğin:

{
  "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"
}

Yanıt değerlerini kaydedin:

  • Edge API'ye yapılan çağrılarda access_token kullanma
  • Erişim jetonunuzun süresi dolduğunda ve aşağıdakileri yapmanız gerektiğinde refresh_token kullanın yenile

Aşağıdaki gibi bir yanıt alırsanız:

{
  "error": "unauthorized",
  "error_description": "Bad credentials"
}

İsteğinizdeki Authorization başlığı için yukarıda verilen dizeyi ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") aynen kullandığınızdan emin olun.