OAuthV2Info politikası belirle

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ı. name özelliğinin değeri harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içerebilir. Bu değer 255 karakterden uzun olamaz.

İ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 <DisplayName> öğesini kullanın.

Yok Gerekli
continueOnError

Bir politika başarısız olduğunda hata döndürülmesi için false olarak ayarlayın. Bu, çoğu politika için beklenen davranıştır.

Bir politika başarısız olduktan sonra bile akış yürütülmesinin devam etmesi için true değerine ayarlayın.

false İsteğe bağlı
enabled

Politikayı uygulamak için true değerine ayarlayın.

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

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

İlgili konular