Jetonları almak için Edge OAuth2 hizmetini kullanma

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

Kimlik bilgilerinizi erişim ve yenileme jetonuyla değiştirmek için Edge OAuth2 hizmetini kullanabilirsiniz. Ardından, OAuth iş akışlarınızda Edge uç noktalarını çağırmak için bu jetonu kullanırsınız.

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

Yol

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

Edge for Public Cloud'da SAML etkin bir kuruluştan Edge OAuth2 hizmetine erişiyorsanız yolunuza 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 "application/json;charset=utf-8"
Authorization

"Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0"

Bu değeri, bu API çağrılarında yeniden kullanabilmek için bir ortam değişkenine aktarabilirsiniz. Ö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 adresi).
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ğrulama (MFA) kodu. Yalnızca MFA etkinse 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ğrulaması yapılırken şifre kodu gerekir ve LDAP IdP ile kimlik doğrulaması 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. grant_type "refresh_token" olduğunda kimlik bilgilerinizi isteğe dahil etmeniz gerekmez.
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. Bu parametre, grant_type "refresh_token" olduğunda zorunludur.

Örnekler

Yeni bir erişim jetonu alma

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 ile yeni bir erişim jetonu alma

MFA (çok öğeli kimlik doğrulama) etkinleştirilmiş 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'

Erişim jetonunu yenileme

Erişim jetonunu yenilemek için grant_type değerini "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

İşlem başarılı olursa 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 kullanma
  • Erişim jetonunuzun süresi dolduğunda ve jetonu yenilemeniz gerektiğinde refresh_token kullanın.

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") kullandığınızdan emin olun.