Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Jeton Meta Verileri Hakkında
Apigee Edge, OAuth erişim jetonları, yenileme jetonları ve yetkilendirme kodları oluşturur ve bunları kimliği doğrulanmış uygulamalara dağıtır. Edge, oluşturma sırasında bu jetonları ve kodları saklar. Daha sonra Edge, bu jetonları veya kodları içeren gelen API isteklerini aldığında istekleri yetkilendirmek için depolanan bilgileri kullanır.
Edge bu OAuth yapılarını oluşturduğunda jetona veya koda meta veriler de ekler. Örneğin, erişim jetonu; son kullanma süresini, ilişkili uygulamayı ve geliştiriciyi ve diğer bilgileri tanımlayan ad/değer çiftleriyle ilişkilendirilir.
Edge erişim jetonunun JSON gösterimi aşağıdaki gibi görünür:
{ "issued_at" : "1372170159093", "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501", "scope" : "READ", "status" : "approved", "api_product_list" : "[Product1,Product2]", "api_product_list_json" : ["Product1", "Product2"], "expires_in" : "3599", //--in seconds "developer.email" : "joe@weathersample.com", "organization_id" : "0", "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe", "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND", "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp", "organization_name" : "apifactory", "refresh_count" : "0" }
OAuth Jetonlarına Özel Özellikler Ekleme
Bazen erişim jetonuna özel meta veriler eklemek yararlı olur. Örneğin, bir jetona kullanıcı adı, kullanıcının grup üyelikleri veya rolleri, müşteri kimliği, oturum tanımlayıcısı ya da başka rastgele bilgiler eklemek isteyebilirsiniz. Apigee Edge'de bu verilere "özel özellikler" adı verilir. Daha sonra, jeton bir API isteği kapsamında doğrulandığında bu veriler bağlam değişkenleri aracılığıyla API proxy'sine sunulur. API proxy'si, jetona eklenen özel verilere göre ayrıntılı yetkilendirme veya yönlendirme kararları verebilir.
Bir jetona rastgele veriler eklemek için OAuthV2 politikasındaki <Attributes> öğesini kullanın. Özel özelliğin adını ve alması gereken değeri belirtebilirsiniz. Örneğin, burada bir jeton oluşturan ve jetona "tenant_list" adlı özel bir özellik ekleyen politika yapılandırması verilmiştir:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>600000</ExpiresIn> <GenerateResponse /> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <Attributes> <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/> </Attributes> </OAuthV2>
Birden çok özel özellik belirtebilir ve bunları oluşturma sırasında dolaylı olarak bir yetkilendirme koduna (<Operation>GenerateAuthorizationCode</Operation>) veya bir jetona (<Operation>GenerateAccessToken</Operation>) ekleyebilirsiniz.
display, true (varsayılan) olarak ayarlandığında özel özellikler, uygulamada görüntülenebilecekleri veya son kullanıcıya iletilebilecekleri yanıtta döndürülür.
display, false olarak ayarlandığında özel özellikler veri deposunda saklanır ancak yanıt mesajında döndürülmez. Her iki durumda da jeton doğrulandıktan sonra özel veriler API Proxy'deki politikalarda kullanılabilir.
display seçeneği hakkında daha fazla bilgi için
Yanıtta özel özellikleri gösterme veya gizleme başlıklı makaleyi inceleyin.
Çalışma Zamanında Özel Özellikleri Alma
OAuthV2/VerifyAccessToken çağrısı yapıldığında:
Apigee Edge, jeton deposunda arayarak jetonu doğrular. Ardından Apigee Edge, jetonla ilgili bilgileri içeren bir dizi bağlam değişkenini doldurur. Bunlardan bazıları:
- organization_name
- developer.id
- developer.app.name
- client_id
- grant_type
- token_type
- access_token
- issued_at
- expires_in //--in seconds
- durum
- kapsam
- apiproduct.name*
Jeton üzerinde özel özellikler varsa bu özel özellikler, accesstoken.{custom_attribute} adlı bir bağlam değişkeninde kullanılabilir. Örneğin, yukarıda gösterilen politikadan bir jeton verildiğini varsayalım. Bu tür bir jeton doğrulandıktan sonra, jeton oluşturulduğu sırada depolanan değeri içeren accesstoken.tenant_list adlı ek bir bağlam değişkeni olur.
Politikalar veya koşullar daha sonra bu değişkenlere başvurabilir ve davranışları, içinde depolanan değerlere göre değiştirebilir.
Çalışma zamanında özel özellikleri ayarlama ve güncelleme
Bazı durumlarda, API çağrısı Apigee Edge'de işlenirken API proxy'nizin bir erişim jetonuyla ilişkili meta verileri çalışma zamanında güncellemesini istersiniz. Bu konuda yardımcı olmak için Apigee, jeton özelliklerini alma ve ayarlama politikaları sağlar. Daha fazla bilgi için Get OAuth V2 Info policy ve Set OAuth V2 Info policy başlıklı makaleleri inceleyin.
AccessToken öğesi, erişim jetonunu içeren bir değişkene referans vermelidir.
Bir jetona eklenen özel özellikleri güncellemek için Edge API'leri de kullanabilirsiniz. OAuth 2.0 Erişim Jetonunu Güncelleme yöntemiyle ilgili API belgelerine bakın.