Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Ne?
Bir erişim jetonuyla ilişkili özel özellikleri eklemenize veya güncellemenize olanak tanır. Özel özellikler arasında bölüm adı, müşteri kimliği veya oturum tanımlayıcısı gibi bilgiler yer alabilir. Ayrıca Jetonları ve Yetkilendirme Kodlarını Özelleştirme başlıklı makaleye de bakın.
Yalnızca özel özellikler ekleyebilir veya bunları değiştirebilirsiniz. Bu politikayı kullanarak kapsam, durum, expires_in, developer_email, client_id, org_name veya refresh_count gibi alanları değiştiremezsiniz. Bir özellik zaten varsa bu politika onu günceller. Bu seçenek yoksa politika tarafından eklenir. Referans verilen erişim jetonu geçerli ve onaylanmış durumda olmalıdır.
Örnekler
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 aranarak istek mesajındaki erişim jetonu bulunur. Bir istemci uygulaması tarafından erişim jetonu sunulduğunda, aşağıdaki politika sorgu parametresindeki erişim jetonunu bulur. Ardından, erişim jetonunun profilini günceller. Bu işlem, 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ı |
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> öğesi
Erişim jetonunun bulunduğu değişkeni tanımlar. Örneğin, erişim jetonu istek mesajına sorgu parametresi olarak eklenmişse request.queryparam.access_token değerini belirtin. Jetonu referans alan geçerli bir değişken kullanabilirsiniz. Alternatif olarak, gerçek jeton dizesi de iletilebilir (nadir durum).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
| Varsayılan: | Yok |
| Mevcut olma: | Zorunlu |
| Tür: | Dize |
Özellikler
| Özellik | Açıklama | Varsayılan | Varlık |
|---|---|---|---|
| ref |
Erişim jetonu değişkeni. Genellikle 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 |
| Mevcut olma: | Zorunlu |
| Tür: | Yok |
<Attributes>/<Attribute> öğesi
Güncellenecek bağımsız bir özellik.
Ad özelliği, erişim jetonu profilinin güncellenecek özel niteliğini tanımlar. Bu örnekte, referans verilen 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 |
| Mevcut olma: | İ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 | |
| ref |
Profil özelliğine atanacak değer. |
Yok | İsteğe bağlı |
Akış değişkenleri
Başarılı olursa aşağıdaki akış değişkenleri ayarlanır:
oauthv2accesstoken.{policyName}.access_tokenoauthv2accesstoken.{policyName}.client_idoauthv2accesstoken.{policyName}.refresh_countoauthv2accesstoken.{policyName}.organization_nameoauthv2accesstoken.{policyName}.expires_in //--in secondsoauthv2accesstoken.{policyName}.refresh_token_expires_in //--in secondsoauthv2accesstoken.{policyName}.issued_atoauthv2accesstoken.{policyName}.statusoauthv2accesstoken.{policyName}.api_product_listoauthv2accesstoken.{policyName}.token_typeoauthv2accesstoken.{policyName}.{custom_attribute_name}
Şema
Her politika türü bir XML şeması (.xsd) ile tanımlanır. Referans olarak politika şemaları GitHub'da mevcuttur.
Hata referansı
Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından döndürülen hata kodları ve hata mesajları ile ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiler, hataları işlemek için hata kuralları geliştiriyorsanız önemlidir. Daha fazla bilgi edinmek için Politika hataları hakkında bilmeniz gerekenler ve Hataları ele alma başlıklı makaleleri inceleyin.
Çalışma zamanı hataları
Bu hatalar, politika yürütülürken oluşabilir.
| Hata kodu | HTTP durumu | Neden |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | Politikaya gönderilen erişim jetonunun süresi dolmuş. |
steps.oauth.v2.invalid_access_token |
500 | Politikaya gönderilen erişim jetonu geçersiz. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Bu hatayı giderme hakkında bilgi edinmek için lütfen bu Apigee Topluluğu gönderisine bakın. |
Dağıtım hataları
Dağıtım hataları hakkında bilgi edinmek 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 hatayı tetiklediğinde ayarlanır.
| Değişkenler | Konum | Örnek |
|---|---|---|
fault.name="fault_name" |
fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen hata 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>