Jetonları almak için Edge OAuth2 hizmetini kullanma

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

Edge OAuth2 hizmetini kullanarak kimlik bilgilerinizi bir erişimle değiştirebilir ve daha sonra OAuth iş akışlarınızdaki Edge uç noktalarını çağırmak için kullandığınız jetonu yenileme jetonu kullanabilirsiniz.

OAuth2 jetonlarını almak için bu bölümde açıklanan tekniklere ek olarak acurl ve get_token yardımcı programlarını da kullanabilirsiniz.

Path

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

Edge OAuth2 hizmetine, Public Cloud için Edge'de SAML özellikli bir kuruluştan erişiyorsanız yolunuza alt bölge adını eklemeniz gerekir. Örneğin:

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

İstek başlıkları

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

"Temel ZWRnZWNsaTplZGdlY2xpc2VjcmV0"

Bu değeri, bir ortam değişkenine aktararak söz konusu 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. Bu, genellikle Apigee hesabınızla ilişkilendirilmiş 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 öğeli kimlik doğrulaması (MFA) kodu olmalıdır. 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ğrularken şifre kodu gerekir ve bir LDAP IdP ile kimlik doğrulamak 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 şunlardır:

  • "password": Yeni bir erişim jetonu alın. grant_type "şifre" olduğunda Apigee kimlik bilgilerinizi isteğe dahil etmeniz gerekir.
  • "refresh_token": Yeni bir erişim jetonu almak için yenileme jetonu gönderin. grant_type, "refresh_token" olduğunda kimlik bilgilerinizi isteğe eklemeniz gerekmez.
refresh_token İsteğe bağlı Mevcut 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 alın

Yeni bir erişim jetonu almak için grant_type öğesini "şifre" 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 ile yeni bir erişim jetonu alma

MFA (çok öğeli kimlik doğrulaması) etkinleştirilmiş yeni bir erişim jetonu almak için MFA kodunu alın ve 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'

Erişim jetonunu yenileme

Bir erişim jetonunu yenilemek için grant_type öğesini "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 jetonunuzu yenilerken kimlik bilgilerinizi iletmeniz gerekmediğini unutmayın.

Yanıtlar

Başarılı olursa bir erişim jetonu, yenileme jetonu ve ilgili bilgileri geri 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 öğesini kullanma
  • Erişim jetonunuzun süresi dolduğunda ve jetonunuzu yenilemeniz gerektiğinde refresh_token kullanın

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

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

İsteğinizde Authorization başlığı için yukarıda belirtilen dizeyi ("ZWRnZWNsaTplZGdlY2xpc2VjcmV0") tam olarak kullandığınızdan emin olun.