Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Ne
Erişim jetonuyla ilişkili özel özellikleri eklemenize veya güncellemenize olanak tanır. Özel özellikler; bölüm adı, müşteri kimliği veya oturum tanımlayıcısı gibi bilgileri içerebilir. Jetonları ve Yetkilendirme Kodlarını Özelleştirme konusuna da bakın.
Yalnızca özel özellikler ekleyebilir veya mevcut özellikleri değiştirebilirsiniz. kapsam, durum, sona erme_in, developer_email, client_id, org_name veyarefresh_count gibi alanları değiştirmek için bu politikayı kullanamazsınız. Bir özellik zaten varsa bu politika ilgili özelliği günceller. Öğe mevcut değilse politika tarafından eklenir. Başvurulan erişim jetonu geçerli ve onaylı bir durumda olmalıdır.
Sana Özel
Temel örnek
Aşağıda, OAuth 2.0 erişim jetonunu güncellemek için kullanılan bir politika örneği verilmiştir. Aşağıdaki örnekte, access_token
adlı bir sorgu parametresi arayarak istek mesajındaki erişim jetonu gösterilmektedir. Aşağıdaki politika, bir istemci uygulaması tarafından erişim jetonu sunulduğunda sorgu parametresindeki erişim jetonunu bulur. Ardından erişim jetonunun profili güncellenir. Profile, department.id
adlı özel bir özellik ekler.
<SetOAuthV2Info name="SetOAuthV2Info"> <AccessToken ref="request.queryparam.access_token"></AccessToken> <Attributes> <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute> </Attributes> </SetOAuthV2Info>
Öğe Referansı
Öğe referansı, SetOAuthV2 politikasının öğelerini ve özelliklerini açıklar.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="SetOAuthV2Info-1"> <DisplayName>Set OAuth v2.0 Info 1</DisplayName> <AccessToken ref={some-variable}></AccessToken> <Attributes/> </SetOAuthV2Info> </xml>
<SetOAuthV2Info> özellikleri
<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Set-OAuth-v20-Info-1">
Aşağıdaki tabloda, tüm politika üst öğelerinde ortak olan özellikler açıklanmaktadır:
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
name |
Politikanın dahili adı. İsteğe bağlı olarak, politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için |
Yok | Gerekli |
continueOnError |
Bir politika başarısız olduğunda hata döndürülmesi için Bir politika başarısız olduktan sonra bile akış yürütülmesinin devam etmesi için |
false | İsteğe bağlı |
enabled |
Politikayı uygulamak için Politikayı devre dışı bırakmak için |
true | İsteğe bağlı |
async |
Bu özellik kullanımdan kaldırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğesi
Politikayı, yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için name
özelliğine ek olarak kullanın.
<DisplayName>Policy Display Name</DisplayName>
Varsayılan |
Yok Bu öğeyi çıkarırsanız politikanın |
---|---|
Varlık | İsteğe bağlı |
Tür | Dize |
<AccessToken> öğesi
Erişim jetonunun bulunduğu değişkeni tanımlar. Örneğin, erişim jetonu bir sorgu parametresi olarak istek mesajına eklenmişse request.queryparam.access_token
değerini belirtin. Jetona referans veren geçerli herhangi bir değişkeni kullanabilirsiniz. Ya da değişmez jeton dizesini iletebilir (nadiren kullanılan büyük/küçük harf).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
Varsayılan: | Yok |
Bulunma: | Gerekli |
Tür: | Dize |
Özellikler
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
referans |
Erişim jetonu değişkeni. Tipik olarak bir akış değişkeninden alınır. |
Yok | İsteğe bağlı |
<Attributes> öğesi
Erişim jetonu profilinde değiştirilecek veya artırılacak bir dizi özellik.
Varsayılan: | Yok |
Bulunma: | Gerekli |
Tür: | Yok |
<Attributes>/<Attribute> öğesi
Güncellenecek bağımsız bir özellik.
Ad özelliği, güncellenecek erişim jetonu profilinin özel özelliğini tanımlar. Bu örnekte, başvurulan bir değişken değerinin ve statik bir değerin nasıl kullanılacağı gösterilmektedir.
<Attributes> <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute> <Attribute name="foo">bar</Attribute> </Attributes>
Varsayılan: | Yok |
Bulunma: | İsteğe bağlı |
Tür: | Yok |
Özellikler
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
ad | Eklenecek veya değiştirilecek profil özelliğinin adı. | Yok | |
referans |
Profil özelliğine atanacak değer. |
Yok | İsteğe bağlı |
Akış değişkenleri
İşlem başarılı olursa aşağıdaki akış değişkenleri ayarlanır:
oauthv2accesstoken.{policyName}.access_token
oauthv2accesstoken.{policyName}.client_id
oauthv2accesstoken.{policyName}.refresh_count
oauthv2accesstoken.{policyName}.organization_name
oauthv2accesstoken.{policyName}.expires_in //--in seconds
oauthv2accesstoken.{policyName}.refresh_token_expires_in //--in seconds
oauthv2accesstoken.{policyName}.issued_at
oauthv2accesstoken.{policyName}.status
oauthv2accesstoken.{policyName}.api_product_list
oauthv2accesstoken.{policyName}.token_type
oauthv2accesstoken.{policyName}.{custom_attribute_name}
Şema
Her politika türü, bir XML şeması (.xsd
) ile tanımlanır. Referans olarak, GitHub'da politika şemaları bulunabilir.
Hata referansı
Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.
Çalışma zamanı hataları
Politika yürütüldüğünde bu hatalar ortaya çıkabilir.
Hata kodu | HTTP durumu | Neden |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Politikaya gönderilen erişim jetonunun süresi doldu. |
steps.oauth.v2.invalid_access_token |
500 | Politikaya gönderilen erişim jetonu geçersiz. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Bu hatayı giderme konusunda bilgi edinmek için lütfen bu Apigee Topluluğu yayınına göz atın. |
Dağıtım hataları
Dağıtım hataları hakkında bilgi için kullanıcı arayüzünde bildirilen mesaja bakın.
Hata değişkenleri
Bu değişkenler, bu politika çalışma zamanında bir hata tetiklediğinde ayarlanır.
Değişkenler | Konum | Örnek |
---|---|---|
fault.name="fault_name" |
fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hatanın adıdır. Hata adı, hata kodunun son kısmıdır. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Örnek hata yanıtı
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Hata kuralı örneği
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>