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ı kaydetmelerini sağlar. API ürünleri, API kaynaklarını "paketlemenize" ve ardından bu paketleri farklı geliştirici gruplarına 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ştirmenizi sağlar. Ek bir avantaj olarak, geliştiricilerin uygulamaları için yeni tüketici anahtarları alması gerekmeden geliştirici erişimi "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 ayarlanmıştı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. 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'lerinizde 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 yapılan istekleri destekler. Bu varsayılan davranışın değiştirilmesi hakkında bilgi 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 "onaylanmış" olarak oluşturulur ve hemen çalışır. (auto genellikle sınırlı kota veya özellikler sunan ü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 AssignMessage politikasında flow.resource.name değişkeni 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"daki API proxy'leriyle ilişkili kaynaklara "test"te dağıtılan API proxy'lerinin erişmesini engellemek 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ıyla eşleşir. 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ı, bir "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 uygulamalarda, 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'yi kullanarak API ürünlerini 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. Ayrıca ö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. Uygulama daha sonra 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 için bir ad, bir 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 kullanarak uygulamaların tüketici anahtarlarını yönetme

Uygulamanın tüketici anahtarını (API anahtarı) alma

Bir uygulamanın kimlik bilgileri (API ürünü, tüketici anahtarı ve gizli anahtar), uygulama profilinin bir parçası olarak döndürülür. Bir kuruluşun yöneticisi, tüketici anahtarını istediği zaman alabilir.

Uygulama profilinde, tüketici anahtarının 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 bir uygulamayı güncellemek istiyorsanız 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ı makaleye bakın.

Bir uygulama anahtarına API ürünü eklemek, anahtarı içeren 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, Geliştirici Uygulamasının Belirli Bir Anahtarını Onaylama veya İptal Etme 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 Bir 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 uygun API ürünü için onaylanması gerekir. 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ü 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 bir API ürünüyle olan ilişkilendirmesini iptal etmek için geliştirici uygulamasının tüketici anahtarına karşı iptal işlemi kullanılarak Approve or Revoke Specific Key of Developer App API'si kullanılır:

$ 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 Bir Anahtarını Onaylama veya İptal Etme başlıklı makaleyi inceleyin.

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

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

  • VerifyAPIKey: Bir API anahtarına referans alır, bunun 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. Daha fazla bilgi için OAuth v1.0a politikasına bakın.
  • 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ı'na bakın.

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 bir istek alınır ve 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. Kota değişkenlerini doldurmak için eşleşen ilk API ürünü kullanılır.
  6. API anahtarıyla veya erişim jetonuyla eşleşen bir API ürünü yoksa istek reddedilir.
  7. Edge, API ürünü ayarlarının yanı sıra kota ayarlarına göre URI tabanlı erişim denetimini (ortam, API proxy'si ve URI yolu) zorunlu kılar.