Edge API'yi kullanarak API'leri yayınlama

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

Bu bölümde, geliştirici portallarında yayınlanacak API ürünleri oluşturmak için Edge API'nin nasıl kullanılacağı açıklanmaktadır.

API'yi kullanarak API ürünleri oluşturma

API ürünleri, geliştiricilerin API anahtarlarını ve OAuth erişim jetonlarını kullanarak API'leri tüketen uygulamaları kaydetmelerine olanak tanır. API ürünleri, API kaynaklarını "paketlemenize" ve ardından bu paketleri farklı geliştirici gruplarında yayınlamanıza olanak tanıyacak şekilde tasarlanmıştır. Örneğin, bir grup API kaynağını iş ortağı geliştiricilerinizle paylaşırken başka bir paketi harici geliştiricilerle paylaşmanız gerekebilir. API ürünleri, API'lerinizde herhangi bir değişiklik yapmanıza gerek kalmadan bu paketlemeyi anında gerçekleştirmenize olanak tanır. Ek bir avantaj olarak, geliştirici erişimi, geliştiricilerin uygulamaları için yeni tüketici anahtarları almasını gerektirmeden "yükseltilebilir" ve "düşürülebilir".

API'yi kullanarak API ürünü oluşturmak için /organizations/{org_name}/apiproducts adresine bir POST isteği gönderin. Daha fazla bilgi için Create API Product API referansına bakın.

Aşağıdaki istek, weather_free adlı bir API ürünü oluşturur. API ürünü, test ortamında dağıtılan weatherapi adlı API proxy'si tarafından kullanıma sunulan tüm API'lere erişim sağlar. Onay türü auto olarak ayarlanır. Bu, tüm erişim isteklerinin onaylanacağı anlamına gelir.

curl -X POST https://api.enterprise.apigee.com/v1/organization/myorg/apiproducts \
-H "Content-Type:application/json" \
-d \
'{
  "approvalType": "auto",
  "displayName": "Free API Product",
  "name": "weather_free",
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ]
}' \
-u email:password 

Örnek yanıt:

{
  "apiResources" : [ ],
  "approvalType" : "auto",
  "attributes" : [ ],
  "createdAt" : 1362759663145,
  "createdBy" : "developer@apigee.com",
  "displayName" : "Free API Product",
  "environments" : [ "test" ],
  "lastModifiedAt" : 1362759663145,
  "lastModifiedBy" : "developer@apigee.com",
  "name" : "weather_free",
  "proxies" : [ "weatherapi" ],
  "scopes" : [ ]
}

Yukarıda oluşturulan API ürünü, bir ortamdaki API proxy'sine yapılan istekleri yetkilendiren en temel senaryoyu uygular. Bu, yetkili bir uygulamanın test ortamında çalışan API proxy'si üzerinden erişilen tüm API kaynaklarına erişmesini sağlayan bir API ürünü tanımlar. API ürünleri, farklı geliştirici grupları için API'lerinize erişim denetimini özelleştirmenize olanak tanıyan ek yapılandırma ayarları sunar. Örneğin, farklı API proxy'lerine erişim sağlayan iki API ürünü oluşturabilirsiniz. Aynı API proxy'lerine erişim sağlayan ancak farklı ilişkili kota ayarlarına sahip iki API ürünü de oluşturabilirsiniz.

API ürünü yapılandırma ayarları

API ürünleri aşağıdaki yapılandırma seçeneklerini kullanıma sunar:

Ad Açıklama Varsayılan Zorunlu mu?
apiResources

API ürününe "paketlenmiş" URI'lerin veya kaynak yollarının virgülle ayrılmış listesi.

Varsayılan olarak kaynak yolları proxy.pathsuffix değişkeninden eşlenir. Proxy yolu soneki, ProxyEndpoint temel yolunu izleyen URI parçası olarak tanımlanır. Örneğin, aşağıdaki örnek API ürününde apiResources öğesi /forecastrss olarak tanımlanmıştır. Bu API proxy'si için tanımlanan temel yol /weather olduğundan bu API ürünü yalnızca /weather/forecastrss isteklerine izin verir.

Belirli bir yolu veya joker karakterle tüm alt yolları seçebilirsiniz. Joker karakterler (/** ve /*) desteklenir. Çift yıldız işareti, tüm alt URI'lerin dahil edildiğini gösterir. Tek bir yıldız işareti, yalnızca bir alt düzeydeki URI'lerin dahil edildiğini gösterir.

Varsayılan olarak, '/', '/**' ile aynı kaynakları ve API proxy'si tarafından tanımlanan temel yolu destekler. Örneğin, API proxy'sinin Temel Yolu /v1/weatherapikey ise API ürünü, /v1/weatherapikey ve /v1/weatherapikey/forecastrss, /v1/weatherapikey/region/CA gibi tüm alt URI'lere yönelik istekleri destekler. Bu varsayılan davranışın nasıl değiştirileceği hakkında bilgi edinmek için API ürünlerini yönetme başlıklı makaleye bakın.

Yok Hayır
approvalType API anahtarlarının, API ürünü tarafından tanımlanan API'lere erişmek için nasıl onaylandığını belirtir. manual olarak ayarlanırsa uygulama için oluşturulan anahtar "beklemede" durumunda olur. Bu tür anahtarlar, açıkça onaylanana kadar çalışmaz. auto olarak ayarlanırsa tüm anahtarlar "onaylandı" durumunda oluşturulur ve hemen çalışır. (auto, genellikle sınırlı kota veya özellikler sağlayan ücretsiz/deneme API ürünlerine erişim sağlamak için kullanılır.) Yok Evet
attributes

Varsayılan API ürünü profilini müşteriye özel meta verilerle genişletmek için kullanılabilecek özellikler dizisi.

API ürününün erişim düzeyini public (herkese açık), private (özel) veya internal (dahili) olarak belirtmek için bu özelliği kullanın. Örneğin:
"attributes": [
{
"name": "access",
"value": "public"
},
{
"name": "foo",
"value": "foo"
},
{
"name": "bar",
"value": "bar"
}
]
Yok Hayır
scopes Çalışma zamanında doğrulanan OAuth kapsamlarının virgülle ayrılmış listesi. (Apigee Edge, sunulan erişim jetonlarındaki kapsamların API ürünündeki kapsamla eşleştiğini doğrular.) Yok Hayır
proxies Bu API ürününün bağlı olduğu adlandırılmış API proxy'leri. Proxy'leri belirterek API ürünündeki kaynakları belirli API proxy'leriyle ilişkilendirebilir ve geliştiricilerin bu kaynaklara diğer API proxy'leri üzerinden erişmesini engelleyebilirsiniz. Yok Hayır. Tanımlanmamışsa apiResources açıkça tanımlanmalıdır (yukarıdaki apiResources ile ilgili bilgilere bakın) ve flow.resource.name değişkeni AssignMessage politikasında ayarlanmalıdır.
environments Bu API ürününün bağlı olduğu adlandırılmış ortamlar (ör. "test" veya "prod"). Bir veya daha fazla ortam belirterek API ürünündeki kaynakları belirli bir ortama bağlayabilir ve geliştiricilerin bu kaynaklara başka bir ortamdaki API proxy'leri üzerinden erişmesini engelleyebilirsiniz. Bu ayar, örneğin, "prod" ortamındaki API proxy'leriyle ilişkili kaynakların "test" ortamında dağıtılan API proxy'leri tarafından erişilmesini önlemek için kullanılır. Yok Hayır. Tanımlanmamışsa apiResources açıkça tanımlanmalı ve AssignMessage politikasında flow.resource.name değişkeni ayarlanmalıdır.
quota Belirtilen zaman aralığında uygulama başına izin verilen istek sayısı. Yok Hayır
quotaInterval Kotaların değerlendirildiği zaman birimi sayısı Yok Hayır
quotaTimeUnit Kotaların sayıldığı zaman birimi (dakika, saat, gün veya ay). Yok Hayır

Aşağıda, API ürünü oluşturmayla ilgili daha ayrıntılı bir örnek verilmiştir.

curl -X POST  https://api.enterprise.apigee.com/v1/o/{org_name}/apiproducts \
-H "Content-Type:application/json" -d \
'{
  "apiResources": [ "/forecastrss" ],
  "approvalType": "auto", 
  "attributes":
    [ {"name": "access", "value": "public"} ],
  "description": "Free API Product",
  "displayName": "Free API Product",
  "name": "weather_free",
  "scopes": [],
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ],
  "quota": "10",
  "quotaInterval": "2",
  "quotaTimeUnit": "hour" }' \
-u email:password

Örnek Yanıt

{
  "apiResources" : [ "/forecastrss" ],
  "approvalType" : "auto",
  "attributes" : [ {
    "name" : "access",
    "value" : "public"
  },
  "createdAt" : 1344454200828,
  "createdBy" : "admin@apigee.com",
  "description" : "Free API Product",
  "displayName" : "Free API Product",
  "lastModifiedAt" : 1344454200828,
  "lastModifiedBy" : "admin@apigee.com",
  "name" : "weather_free",
  "scopes" : [ ],
  "proxies": [ {'weatherapi'} ],
  "environments": [ {'test'} ],
  "quota": "10",
  "quotaInterval": "1",
  "quotaTimeUnit": "hour"}'
}

Kapsamlar hakkında

Kapsam, OAuth'tan alınan bir kavramdır ve kabaca "izin" kavramına karşılık gelir. Apigee Edge'de kapsamlar tamamen isteğe bağlıdır. Daha ayrıntılı yetkilendirme için kapsamları kullanabilirsiniz. Bir uygulamaya verilen her tüketici anahtarı, "ana kapsam" ile ilişkilendirilir. Ana kapsam, bu uygulamanın onaylandığı tüm API ürünlerindeki tüm kapsamların kümesidir. Birden fazla API ürünü kullanması onaylanan uygulamalar için ana kapsam, tüketici anahtarının onaylandığı API ürünlerinde tanımlanan tüm kapsamların birleşimidir.

API ürünlerini görüntüleme

API kullanılarak bir kuruluş için oluşturulan API ürünlerini görüntülemek üzere aşağıdaki bölümlere bakın:

Aşağıda, API ürünlerini API kullanarak görüntüleme örneği verilmiştir:

curl -X GET "https://ext.apiexchange.org/v1/mint/organizations/{org_name}/products?monetized=true" \
  -H "Accept:application/json" \
  -u email:password

Yanıt aşağıdaki gibi görünmelidir (yanıtın yalnızca bir kısmı gösterilmektedir):

{
  "product" : [ {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "payment api product",
    "displayName" : "payment",
    "id" : "payment",
    "name" : "payment",
    "organization" : {
      ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  }, {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "messaging api product",
    "displayName" : "messaging",
    "id" : "messaging",
    "name" : "messaging",
    "organization" : ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  } ],
  "totalRecords" : 2
}

API'yi kullanarak geliştiricileri kaydetme

Tüm uygulamalar geliştiricilere veya şirketlere aittir. Bu nedenle, uygulama oluşturmak için önce geliştirici veya şirket kaydetmeniz gerekir.

Geliştiriciler, profil oluşturarak bir kuruluşa kaydedilir. Profile dahil edilen geliştirici e-posta adresinin, Apigee Edge genelinde geliştirici için benzersiz anahtar olarak kullanıldığını unutmayın.

Para kazanmayı desteklemek için geliştiricileri oluştururken veya düzenlerken para kazanma özelliklerini tanımlamanız gerekir. Özel analizlerde, özel politika uygulamalarında vb. kullanılmak üzere başka rastgele özellikler de tanımlayabilirsiniz. Bu rastgele özellikler Apigee Edge tarafından yorumlanmaz.

Örneğin, aşağıdaki istek, e-posta adresi ntesla@theremin.com olan bir geliştirici için profil kaydeder ve Create developer API'yi kullanarak para kazanma özelliklerinin bir alt kümesini tanımlar:

$ curl -H "Content-type:application/json" -X POST -d \
'{"email" : "ntesla@theremin.com", 
  "firstName" : "Nikola", 
  "lastName" : "Tesla", 
  "userName" : "theremin", 
  "attributes" : [ 
  { 
    "name" : "project_type", 
    "value" : "public"
  },
  {    
   "name": "MINT_BILLING_TYPE",
   "value": "POSTPAID"
  },
  {
   "name": "MINT_DEVELOPER_ADDRESS",
   "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
  },
  {
   "name": "MINT_DEVELOPER_TYPE",
   "value": "TRUSTED"
  },
  {    
   "name": "MINT_HAS_SELF_BILLING,
   "value": "FALSE"
  },
  {
   "name" : "MINT_SUPPORTED_CURRENCY",
   "value" : "usd"
  }
 ] 
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers \
-u email:password 

Örnek Yanıt

{
          "email" : "ntesla@theremin.com",
          "firstName" : "Nikola",
          "lastName" : "Tesla",
          "userName" : "theremin",
          "organizationName" : "{org_name}",
          "status" : "active",
          "attributes" : [ 
          {
            "name" : "project_type",
            "value" : "public"
          },
          {    
             "name": "MINT_BILLING_TYPE",
             "value": "POSTPAID"
          },
          {
             "name": "MINT_DEVELOPER_ADDRESS",
             "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
          },
          {
             "name": "MINT_DEVELOPER_TYPE",
             "value": "TRUSTED"
          },
          {    
             "name": "MINT_HAS_SELF_BILLING,
             "value": "FALSE"
          },
          {
             "name" : "MINT_SUPPORTED_CURRENCY",
             "value" : "usd"
          } 
          ],
          "createdAt" : 1343189787717,
          "createdBy" : "admin@apigee.com",
          "lastModifiedAt" : 1343189787717,
          "lastModifiedBy" : "admin@apigee.com"
        }

API'yi kullanarak geliştirici uygulamalarını kaydetme

Apigee Edge'e kaydedilen her uygulama bir geliştirici ve bir API ürünüyle ilişkilendirilir. Bir uygulama geliştirici adına kaydedildiğinde Apigee Edge, uygulamayı tanımlayan bir "kimlik bilgisi" (tüketici anahtarı ve gizli anahtar çifti) oluşturur. Ardından, uygulama bu kimlik bilgilerini uygulamayla ilişkili bir API ürününe yapılan her isteğin bir parçası olarak iletmelidir.

Aşağıdaki istek, yukarıda oluşturduğunuz geliştirici (ntesla@theremin.com) için bir uygulama kaydetmek üzere Create Developer App API'sini kullanır. Bir uygulamayı kaydederken uygulama adı, callbackUrl ve bir veya daha fazla API ürünü listesi tanımlarsınız:
$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "weather_free"], 
  "callbackUrl" : "login.weatherapp.com", 
  "keyExpiresIn" : "2630000000",
  "name" : "weatherapp"}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps \
-u email:password 

callbackUrl, uygulamadan gelen yönlendirme isteklerini doğrulamak için bazı OAuth erişim izni türleri (ör. yetkilendirme kodu) tarafından kullanılır. OAuth kullanıyorsanız bu değer, OAuth istekleri yapmak için kullanılan redirect_uri ile aynı değere ayarlanmalıdır.

keyExpiresIn özelliği, geliştirici uygulaması için oluşturulacak tüketici anahtarının geçerlilik süresini milisaniye cinsinden belirtir. Varsayılan değer olan -1, sonsuz bir geçerlilik süresini ifade eder.

Örnek Yanıt

{
  "appId": "5760d130-528f-4388-8c6f-65a6b3042bd1",
  "attributes": [
    {
      "name": "DisplayName",
      "value": "Test Key Expires"
    },
    {
      "name": "Notes",
      "value": "Just testing this attribute"
    }
  ],
  "createdAt": 1421770824390,
  "createdBy": "wwitman@apigee.com",
  "credentials": [
    {
      "apiProducts": [
        {
          "apiproduct": "ProductNoResources",
          "status": "approved"
        }
      ],
      "attributes": [],
      "consumerKey": "jcAFDcfwImkJ19A5gTsZRzfBItlqohBt",
      "consumerSecret": "AX7lGGIRJs6s8J8y",
      "expiresAt": 1424400824401,
      "issuedAt": 1421770824401,
      "scopes": [],
      "status": "approved"
    }
  ],
  "developerId": "e4Oy8ddTo3p1BFhs",
  "lastModifiedAt": 1421770824390,
  "lastModifiedBy": "wwitman@apigee.com",
  "name": "TestKeyExpires",
  "scopes": [],
  "status": "approved"
}

API'yi kullanan uygulamalar için tüketici anahtarlarını yönetme

Uygulamanın tüketici anahtarını (API anahtarı) alın.

Bir uygulamanın kimlik bilgileri (API ürünü, tüketici anahtarı ve gizli anahtar), uygulama profili kapsamında döndürülür. Bir kuruluşun yöneticisi, tüketici anahtarını istediği zaman alabilir.

Uygulama profilinde tüketici anahtarı ve gizli anahtarın değeri, tüketici anahtarının durumu ve anahtarla ilgili tüm API ürünü ilişkilendirmeleri gösterilir. Yönetici olarak, Get Key Details for a Developer App API'yi kullanarak tüketici anahtarı profilini istediğiniz zaman alabilirsiniz:

$ curl -X GET -H "Accept: application/json" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password

Örnek Yanıt

{
  "apiProducts" : [ {
    "apiproduct" : "weather_free",
    "status" : "approved"
  } ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

Daha fazla bilgi için Get Key Details for a Developer App başlıklı makaleyi inceleyin.

Uygulamaya ve anahtara API ürünü ekleme

Yeni bir API ürünü eklemek için uygulamayı güncellemek yerine Add API Product to Key API'yi kullanarak API ürününü uygulamanın anahtarına eklersiniz. Daha fazla bilgi için Add API Product to Key başlıklı makaleyi inceleyin.

Bir API ürününü uygulama anahtarına eklemek, anahtarı barındıran uygulamanın API ürünündeki API kaynaklarına erişmesini sağlar. Aşağıdaki yöntem çağrısı, bir uygulamaya yeni bir API ürünü ekler:

$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "newAPIProduct"]
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password 

Örnek Yanıt:

{
  "apiProducts": [
   {
     "apiproduct": "weather_free",
     "status": "approved"
   },
   {
     "apiproduct": "newAPIProduct",
     "status": "approved"
   }
 ],
 "attributes": [],
 "consumerKey": "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
 "consumerSecret": "1eluIIdWG3JGDjE0",
 "expiresAt": -1,
 "issuedAt": 1411491156464,
 "scopes": [],
 "status": "approved"
 }

Tüketici anahtarlarını onaylama

Onay türünü manuel olarak ayarlayarak hangi geliştiricilerin API ürünleriyle korunan kaynaklara erişebileceğini kontrol edebilirsiniz. API ürünlerinde anahtar onayı manual olarak ayarlandığında tüketici anahtarlarının açıkça onaylanması gerekir. Anahtarlar, Approve or Revoke Specific Key of Developer App API'si kullanılarak açıkça onaylanabilir:

$ curl -X POST -H "Content-type:appilcation/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J?"action=approve" \
-u email:password

Örnek Yanıt

{
  "apiProducts" : [ {
  "apiproduct" : "weather_free",
  "status" : "approved"
} ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

Daha fazla bilgi için Geliştirici Uygulamasının Belirli Anahtarını Onaylama veya İptal Etme başlıklı makaleyi inceleyin.

Tüketici anahtarları için API ürünlerini onaylama

Bir API ürününün tüketici anahtarıyla ilişkilendirilmesinin de bir durumu vardır. API erişiminin başarılı olması için tüketici anahtarının onaylanması ve tüketici anahtarının uygun API ürünü için onaylanması gerekir. Bir tüketici anahtarının bir API ürünüyle ilişkilendirilmesi, Approve or Revoke API Product for a Key for a Developer App API kullanılarak onaylanabilir:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=approve" \
-u email:password

Bu cURL komutu yanıt döndürmüyor. Daha fazla bilgi için Geliştirici Uygulaması Anahtarı İçin API Ürününü Onaylama veya İptal Etme başlıklı makaleyi inceleyin.

Tüketici anahtarları için API ürünlerini iptal etme

Bir tüketici anahtarının API ürünüyle ilişkisini iptal etmeniz gerekmesinin birçok nedeni olabilir. Geliştiricinin ödeme yapmaması, deneme süresinin sona ermesi veya bir uygulamanın bir API ürününden başka bir API ürününe yükseltilmesi nedeniyle bir API ürününü tüketici anahtarından kaldırmanız gerekebilir.

Bir tüketici anahtarının API ürünüyle olan ilişkilendirmesini iptal etmek için Approve or Revoke Specific Key of Developer App API'sini kullanın. Bu API'de geliştirici uygulamasının tüketici anahtarına karşı iptal işlemi gerçekleştirilir:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=revoke" \
-u email:password

Bu cURL komutu yanıt döndürmüyor. Daha fazla bilgi için Geliştirici Uygulamasının Belirli Anahtarını Onaylama veya İptal Etme başlıklı makaleyi inceleyin.

API ürünü ayarlarını zorunlu kılma

API ürünlerinin uygulanabilmesi için API proxy akışına aşağıdaki politika türlerinden biri eklenmelidir:

  • VerifyAPIKey: API anahtarına referans alır, geçerli bir uygulamayı temsil ettiğini ve API ürünüyle eşleştiğini doğrular. Daha fazla bilgi için API anahtarını doğrulama politikasına bakın.
  • OAuthV1, "VerifyAccessToken" işlemi: İmzayı doğrular, bir OAuth 1.0a erişim jetonunu ve "tüketici anahtarını" doğrular ve uygulamayı API ürünüyle eşleştirir. OAuth 1.0a için destek sonlandırıldı. Desteklenmeyen özellikler başlıklı makaleyi inceleyin.
  • OAuthV2, "VerifyAccessToken" işlemi: OAuth 2.0 erişim jetonunun geçerli olduğunu doğrular, jetonu uygulamayla eşleştirir, uygulamanın geçerli olduğunu doğrular ve ardından uygulamayı bir API ürünüyle eşleştirir. Daha fazla bilgi için OAuth ana sayfası'nı inceleyin.

Politikalar ve API ürünleri yapılandırıldıktan sonra aşağıdaki işlem Apigee Edge tarafından yürütülür:

  1. Apigee Edge tarafından alınan istek, uygun API proxy'sine yönlendirilir.
  2. İstemci tarafından sunulan API anahtarını veya OAuth erişim jetonunu doğrulayan bir politika yürütülür.
  3. Edge, API anahtarını veya erişim jetonunu bir uygulama profiline dönüştürür.
  4. Edge, uygulamayla ilişkili API ürünlerinin listesini (varsa) çözer.
  5. Eşleşen ilk API ürünü, kota değişkenlerini doldurmak için kullanılır.
  6. API anahtarıyla veya erişim jetonuyla eşleşen bir API ürünü yoksa istek reddedilir.
  7. Edge, kota ayarlarının yanı sıra API ürünü ayarlarına göre URI tabanlı erişim denetimini (ortam, API proxy'si ve URI yolu) zorunlu kılar.