Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Ne?
Bir erişim jetonuyla ilişkilendirilmiş özel özellikleri eklemenizi veya güncellemenizi sağlar. Özel özellikler {0}bölüm adı, müşteri kimliği veya oturum tanımlayıcısı gibi bilgiler içerebilir. Şu kaynakları da inceleyin Jetonları ve Yetkilendirme Kodları bölümüne bakın.
Yalnızca özel özellikler ekleyebilir veya mevcut özel özellikleri değiştirebilirsiniz. Bu politikayı aşağıdaki gibi alanları değiştirmek için kullanamazsınız: kapsam, durum, sona erme, geliştirici_e-postası, istemci_kimliği, kuruluş_adı veya yenileme_count. Bir özelliği zaten mevcutsa bu politika, özelliği günceller. Böyle bir yer yoksa politika tarafından eklenir. İlgili içeriği oluşturmak için kullanılan başvurulan erişim jetonu geçerli ve onaylanmış bir durumda olmalıdır.
Örnekler
Temel örnek
Aşağıda, OAuth 2.0 erişim jetonunu güncellemek için kullanılan bir örnek politika verilmiştir. Aşağıdaki örnek
adında bir sorgu parametresini arayarak istek mesajındaki erişim jetonunu bulur.
access_token
İstemci uygulaması tarafından bir erişim jetonu sunulduğunda politika
sorgusu, sorgu parametresindeki erişim jetonunu bulur. Ardından, erişim
jetonun profiline. Bu öğe, department.id
adlı özel bir özelliği
seçin.
<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> özellikler
<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ı |
Yok | Zorunlu |
continueOnError |
Bir politika başarısız olduğunda hata döndürmesi için Akış yürütmenin bir politikadan sonra bile 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 özelliğin desteği sonlandırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğe
Politikayı name
özelliğine ek olarak
farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.
<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> öğe
Erişim jetonunun bulunduğu değişkeni tanımlar. Örneğin, erişim jetonu
sorgu parametresi olarak istek mesajına eklendiyse
request.queryparam.access_token
jeton. Veya düz jeton dizesini iletebilir (nadiren).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
Varsayılan: | Yok |
Bulunma: | Zorunlu |
Tür: | Dize |
Özellikler
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
referans |
Erişim jetonu değişkeni Genellikle bir akış değişkeninden alınır. |
Yok | İsteğe bağlı |
<Attributes> öğe
Erişim jetonu profilinde değiştirilecek veya genişletilecek bir özellik grubu.
Varsayılan: | Yok |
Bulunma: | Zorunlu |
Tür: | Yok |
<Attributes>/<Attribute> öğe
Güncellenecek bağımsız bir özellik.
name özelliği, kullanılacak erişim jetonu profilinin özel özelliğini tanımlar güncellendi. Bu örnekte, referans verilen bir değişken değerinin ve statik 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ı olduğunda, aşağıdaki akış değişkenleri ayarlanacaktı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ıyla (.xsd
) tanımlanır. Referans olması amacıyla politika şemaları
GitHub'da bulabilirsiniz.
Hata referansı
Bu bölümde, bu politika bir hatayı tetiklediğinde döndürülen hata kodları ve hata mesajlarının yanı sıra Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Hata kuralları geliştirirken bu bilgilerin farkında olmanız önemlidir. hoşuma gitmesi için bir fırsattır. Daha fazla bilgi için Bilmeniz gerekenler Politika hataları ve Kullanım sorun.
Çalışma zamanı hataları
Bu hatalar, politika yürütüldüğünde 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 | Lütfen bkz. bu Apigee Topluluk gönderisine 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, politika çalışma zamanında bir hatayı tetiklediğinde ayarlanır.
Değişkenler | Konum | Örnek |
---|---|---|
fault.name="fault_name" |
fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelendiği gibi 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" } } }
Örnek hata kuralı
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>