OAuthV2Info politikası belirle

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ı. 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

<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_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 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>

İlgili konular