OAuthV2Info politikası belirle

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ı. name özelliğinin değeri Harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içermelidir. Bu değer, 255 karakteri aşmalıdır.

İsteğe bağlı olarak, politikayı<DisplayName> yönetim arayüzü proxy düzenleyicisinde farklı bir doğal dil adı kullanabilir.

Yok Zorunlu
continueOnError

Bir politika başarısız olduğunda hata döndürmesi için false olarak ayarlayın. Bu beklenen bir durumdur çoğu politika için geçerli olur.

Akış yürütmenin bir politikadan sonra bile devam etmesi için true olarak ayarlayın başarısız olur.

false İsteğe bağlı
enabled

Politikayı uygulamak için true olarak ayarlayın.

Politikayı devre dışı bırakmak için false değerine ayarlayın. Bu politika, bir akışa bağlı kalsa bile uygulanır.

true İsteğe bağlı
async

Bu özelliğin desteği sonlandırıldı.

false Kullanımdan kaldırıldı

&lt;DisplayName&gt; öğ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 name özelliğinin değeri: kullanılır.

Varlık İsteğe bağlı
Tür Dize

&lt;AccessToken&gt; öğ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ı

&lt;Attributes&gt; öğe

Erişim jetonu profilinde değiştirilecek veya genişletilecek bir özellik grubu.

Varsayılan: Yok
Bulunma: Zorunlu
Tür: Yok

&lt;Attributes&gt;/&lt;Attribute&gt; öğ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>

İlgili konular