VerificationJWS politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Ne?

İstemcilerden veya diğer sistemlerden alınan JWS'deki imzayı doğrular. Bu politika, yetkilendirme veya yönlendirme kararları vermek için sonraki politikaların ya da koşulların bu değerleri inceleyebilmesi amacıyla üstbilgileri bağlam değişkenlerine de ayıklar. Ayrıntılı bir giriş için JWS ve JWT politikalarına genel bakış başlıklı makaleyi inceleyin.

JWS doğrulanır ve geçerliyse isteğin devam etmesine izin verilir. JWS imzası doğrulanamazsa veya JWS, bir hata türü nedeniyle geçersizse tüm işleme durdurulur ve yanıtta bir hata döndürülür.

JWS'nin bölümleri, şifrelenme ve imzalanma şekilleri hakkında bilgi edinmek için RFC7515'e bakın.

Video

JWS'deki imzayı nasıl doğrulayacağınızı öğrenmek için kısa bir video izleyin. Bu video, JWT'nin doğrulanmasına özel olsa da birçok kavram JWS için de aynıdır.

Örnekler

HS256 algoritmasıyla imzalanmış ekli bir JWS'yi doğrulama

Bu örnek politika, SHA-256 denetim toplamı kullanılarak HMAC ile HS256 şifreleme algoritmasıyla imzalanmış ekli bir JWS'yi doğrular. JWS, JWS adlı bir form parametresi kullanılarak proxy isteğinde iletilir. Anahtar, private.secretkey adlı bir değişkende yer alıyor.

Ekli bir JWS, kodlanmış başlığı, yükü ve imzayı içerir:

header.payload.signature

Politika yapılandırması, Edge'in JWS'nin kodunu çözüp değerlendirmesi için gereken bilgileri (ör. JWS'nin nerede bulunacağı (<Source> öğesinde belirtilen bir akış değişkeninde), gerekli imzalama algoritması ve gizli anahtarın nerede bulunacağı (ör. Edge KVM'den alınmış olabilecek bir Edge akış değişkeninde depolanır)) içerir.

<VerifyJWS name="JWS-Verify-HS256">
    <DisplayName>JWS Verify HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <Source>request.formparam.JWS</Source>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
    </SecretKey>
</VerifyJWS>

Politika, çıkışını bağlam değişkenlerine yazar. Böylece API proxy'sindeki sonraki politikalar veya koşullar bu değerleri inceleyebilir. Bu politika tarafından ayarlanan değişkenlerin listesi için Akış değişkenleri başlıklı makaleyi inceleyin.

RS256 algoritmasıyla imzalanmış ayrılmış bir JWS'yi doğrulama

Bu örnek politika, RS256 algoritmasıyla imzalanmış ayrılmış bir JWS'yi doğrular. Doğrulamak için ortak anahtarı sağlamanız gerekir. JWS, JWS adlı bir form parametresi kullanılarak proxy isteğinde iletilir. Ortak anahtar, public.publickey adlı bir değişkende bulunur.

Ayrılmış bir JWS, JWS'den yükü çıkarır:

header..signature

Yükü içeren değişken adını <DetachedContent> öğesinde belirterek yükü VerifyJWS politikasına iletmek sizin sorumluluğunuzdadır. <DetachedContent> içinde belirtilen içerik, JWS imzası oluşturulduğundaki orijinal kodlanmamış biçimde olmalıdır.

<VerifyJWS name="JWS-Verify-RS256">
    <DisplayName>JWS Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <Source>request.formparam.JWS</Source>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <PublicKey>
        <Value ref="public.publickey"/>
    </PublicKey>
    <DetachedContent>private.payload</DetachedContent>
</VerifyJWS>

Politika, çıkışını bağlam değişkenlerine yazar. Böylece API proxy'sindeki sonraki politikalar veya koşullar bu değerleri inceleyebilir. Bu politika tarafından ayarlanan değişkenlerin listesi için Akış değişkenleri başlıklı makaleyi inceleyin.

Temel öğeleri ayarlama

JWS'yi doğrulamak için kullanılan anahtarı belirtmek üzere kullandığınız öğeler, seçilen algoritmaya bağlıdır. Bu öğeler aşağıdaki tabloda gösterilmiştir:

Algoritma önemli unsurlar
HS*
<SecretKey>
  <Value ref="private.secretkey"/>
</SecretKey>
RS*, ES*, PS*
<PublicKey>
  <Value ref="rsa_public_key"/>
</PublicKey>

veya:

<PublicKey>
  <JWKS ref="jwks_val_ref_or_url"/>
</PublicKey>
*Anahtar koşulları hakkında daha fazla bilgi için İmza şifreleme algoritmaları hakkında başlıklı makaleyi inceleyin.

Öğe referansı

Politika referansında, JWS'yi Doğrula politikasının öğeleri ve özellikleri açıklanmaktadır.

Not: Yapılandırma, kullandığınız şifreleme algoritmasına bağlı olarak biraz farklılık gösterir. Belirli kullanım alanlarına yönelik yapılandırmaları gösteren örnekler için Örnekler bölümüne bakın.

En üst düzey öğe için geçerli olan özellikler

<VerifyJWS name="JWS" continueOnError="false" enabled="true" async="false">

Aşağıdaki özellikler tüm politika üst öğeleri için ortaktır.

Özellik Açıklama Varsayılan Varlık (Presence)
ad Politikanın dahili adı. Adda kullanabileceğiniz karakterler şunlarla sınırlıdır: A-Z0-9._\-$ %. Ancak Edge yönetim kullanıcı arayüzü, alfanümerik olmayan karakterleri otomatik olarak kaldırma gibi ek kısıtlamalar uygular.

İsteğe bağlı olarak, <displayname></displayname> öğesini kullanarak politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketleyin.

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

Bir politika başarısız olsa bile akış yürütme işleminin devam etmesi için true olarak ayarlayın.

yanlış İsteğe bağlı
etkin Politikayı zorunlu kılmak için true olarak ayarlayın.

Politikayı "kapatmak" için false olarak ayarlayın. Politika, akışa ekli kalsa bile zorunlu kılınmaz.

doğru İsteğe bağlı
eş zamansız Bu özelliğin desteği sonlandırıldı. yanlış Kullanımdan kaldırıldı

<DisplayName>

<DisplayName>Policy Display Name</DisplayName>

Politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için ad özelliğine ek olarak kullanılır.

Varsayılan Bu öğeyi atlarsanız politikanın ad özelliği değeri kullanılır.
Varlık (Presence) İsteğe bağlı
Tür Dize

<Algorithm>

<Algorithm>HS256</Algorithm>

Jetonu imzalamak için kullanılacak şifreleme algoritmasını belirtir. RS*/PS*/ES* algoritmalarında ortak/gizli anahtar çifti, HS* algoritmalarında ise paylaşılan gizli bilgiler kullanılır. Ayrıca İmza şifreleme algoritmaları hakkında başlıklı makaleyi de inceleyin.

Virgülle ayrılmış birden çok değer belirtebilirsiniz. Örneğin, "HS256, HS512" veya "RS256, PS256". Ancak, belirli bir anahtar türü gerektirdiklerinden HS* algoritmalarını diğerleriyle veya ES* algoritmalarını diğerleriyle birleştiremezsiniz. RS* ve PS* algoritmalarını birleştirebilirsiniz.

Varsayılan Yok
Varlık (Presence) Zorunlu
Tür Virgülle ayrılmış değerler dizesi
Geçerli değerler HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512

<AdditionalHeaders/Claim>

<AdditionalHeaders>
    <Claim name='claim1'>explicit-value-of-claim-here</Claim>
    <Claim name='claim2' ref='variable-name-here'/>
    <Claim name='claim3' ref='variable-name-here' type='boolean'/>
    <Claim name='claim4' ref='variable-name' type='string' array='true'/>
 </AdditionalHeaders>

JWS başlığının belirtilen ek talep adı/değer çiftlerini içerdiğini ve onaylanan talep değerlerinin eşleştiğini doğrular.

Ek bir talep, standart ve kayıtlı JWS talebi adlarından biri olmayan bir ad kullanıyor. Ek bir talebin değeri dize, sayı, boole, eşlem veya dizi olabilir. Bir harita yalnızca bir ad/değer çiftleri kümesidir. Bu türlerden herhangi birine ait talebin değeri, politika yapılandırmasında açıkça veya bir akış değişkenine yapılan referans aracılığıyla dolaylı olarak belirtilebilir.

Varsayılan Yok
Varlık (Presence) İsteğe bağlı
Tür

Dize (varsayılan), sayı, Boole veya eşlem.

Tür belirtilmemişse varsayılan olarak String kullanılır.

Array Değerin bir tür dizisi olup olmadığını belirtmek için true olarak ayarlayın. Varsayılan: false
Geçerli değerler Ek bir talep için kullanmak istediğiniz herhangi bir değer.

<Claim> öğesi şu özellikleri alır:

  • name: (Zorunlu) Hak talebinin adı.
  • ref: (İsteğe bağlı) Bir akış değişkeninin adı. Bu değişken varsa politika, bu değişkenin değerini talep olarak kullanır. Hem ref özelliği hem de açık bir talep değeri belirtilirse açık değer varsayılan değer olur ve referans verilen akış değişkeni çözümlenmemişse kullanılır.
  • type: (İsteğe bağlı) Şu değerlerden biri: dize (varsayılan), sayı, Boole veya eşlem
  • array: (İsteğe bağlı) Değerin bir tür dizisi olup olmadığını belirtmek için true olarak ayarlayın. Varsayılan: false.

<DetachedContent>

<DetachedContent>variable-name-here</DetachedContent>

İçerik yükü içeren oluşturulmuş bir JWS şu biçimdedir:

header.payload.signature

Ayrılmış yük oluşturmak için GenerateJWS politikası kullanıyorsanız oluşturulan JWS, yükü atlar ve şu biçimdedir:

header..signature

Ayrılmış bir yük için, <DetachedContent> öğesini kullanarak yükü VerifyJWS politikasına iletmek sizin sorumluluğunuzdadır. Belirtilen içerik yükü, JWS imzası oluşturulduğundaki orijinal kodlanmamış biçimde olmalıdır.

Politika aşağıdaki durumlarda hata verir:

  • JWS, ayrılmış içerik yükü içermediğinde <DetachedContent> belirtilir (hata kodu steps.jws.ContentIsNotDetached'dir).
  • <DetachedContent> atlanır ve JWS'nin ayrılmış bir içerik yükü vardır (hata kodu steps.jws.InvalidSignature).
Varsayılan N/A
Varlık (Presence) İsteğe bağlı
Tür Değişken referansı

<IgnoreCriticalHeaders>

<IgnoreCriticalHeaders>true|false</IgnoreCriticalHeaders>

JWS'nin crit başlığında listelenen herhangi bir başlık <KnownHeaders> öğesinde listelenmediğinde politikanın hata vermesini istiyorsanız false olarak ayarlayın. VerifyJWS politikasının crit üstbilgisini yoksaymasını sağlamak için doğru olarak ayarlayın.

Bu öğeyi true (doğru) olarak ayarlamanın bir nedeni, test ortamında olmanız ve eksik bir başlık nedeniyle politikanın başarısız olmasını istememenizdir.

Varsayılan yanlış
Varlık (Presence) İsteğe bağlı
Tür Boole
Geçerli değerler doğru veya yanlış

<IgnoreUnresolvedVariables>

<IgnoreUnresolvedVariables>true|false</IgnoreUnresolvedVariables>

Politikada belirtilen referans verilen değişkenlerden herhangi biri çözümlenemediğinde politikanın hata vermesini istiyorsanız yanlış olarak ayarlayın. Çözülemeyen değişkenleri boş dize (null) olarak değerlendirmek için true olarak ayarlayın.

Varsayılan yanlış
Varlık (Presence) İsteğe bağlı
Tür Boole
Geçerli değerler doğru veya yanlış

<KnownHeaders>

<KnownHeaders>a,b,c</KnownHeaders>

or:

<KnownHeaders ref=variable_containing_headers/>

GenerateJWS politikası, jetondaki crit başlığını doldurmak için <CriticalHeaders> öğesini kullanır. Örneğin:

{
  “typ: “...”,
  “alg” : “...”,
  “crit” : [ “a”, “b”, “c” ],
}

VerifyJWS politikası, varsa JWS'deki crit başlığını inceler ve listelenen her öğe için <KnownHeaders> öğesinin de bu başlığı listelediğini kontrol eder. <KnownHeaders> öğesi, crit içinde listelenen öğelerin üst kümesini içerebilir. Yalnızca crit içinde listelenen tüm üstbilgilerin <KnownHeaders> öğesinde listelenmesi gerekir. Politikanın crit içinde bulduğu ve <KnownHeaders> içinde listelenmeyen tüm üstbilgiler, VerifyJWS politikasının başarısız olmasına neden olur.

İsteğe bağlı olarak, <IgnoreCriticalHeaders> öğesini true olarak ayarlayarak VerifyJWS politikasını crit üst bilgisini yoksayacak şekilde yapılandırabilirsiniz.

Varsayılan Yok
Varlık (Presence) İsteğe bağlı
Tür Virgülle ayrılmış dizeler dizisi
Geçerli değerler Dizi veya diziyi içeren bir değişkenin adı.

<PublicKey/JWKS>

<!-- Specify the JWKS. -->
<PublicKey>
   <JWKS>jwks-value-here</JWKS>
</PublicKey>

or:

<!-- Specify a variable containing the JWKS. -->
<PublicKey>
   <JWKS ref="public.jwks"/>
</PublicKey>

or:

<!-- Specify a public URL that returns the JWKS.
The URL is static, meaning you cannot set it using a variable. -->
<PublicKey>
   <JWKS uri="jwks-url"/>
</PublicKey>

Bir dizi ortak anahtar içeren JWKS biçiminde (RFC 7517) bir değer belirtir. Yalnızca algoritma RS256/RS384/RS512, PS256/PS384/PS512 veya ES256/ES384/ES512 olduğunda kullanın.

Gelen JWS, JWKS kümesinde bulunan bir anahtar kimliği taşıyorsa politika, JWS imzasını doğrulamak için doğru ortak anahtarı kullanır. Bu özellik hakkında ayrıntılı bilgi için JWS'yi doğrulamak için JSON Web Anahtarı Kümesi (JWKS) kullanma başlıklı makaleyi inceleyin.

Değeri herkese açık bir URL'den getirirseniz Edge, JWKS'yi 300 saniye boyunca önbelleğe alır. Önbelleğin süresi dolduğunda Edge, JWKS'yi tekrar getirir.

Varsayılan Yok
Varlık (Presence) RSA algoritması kullanarak JWS'yi doğrulamak için JWKS veya Value öğesini kullanmanız gerekir.
Tür Dize
Geçerli değerler Akış değişkeni, dize değeri veya URL.

<PublicKey/Value>

<PublicKey>
   <Value ref="public.publickey"/>
</PublicKey>
-or-
<PublicKey>
    <Value>
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw2kPrRzcufvUNHvTH/WW
    Q0UrCw5c0+Y707KX3PpXkZGbtTT4nvU1jC0d1lHV8MfUyRXmpmnNxJHAC2F73IyN
    C5TBtXMORc+us7A2cTtC4gZV256bT4h3sIEMsDl0Joz9K9MPzVPFxa1i0RgNt06n
    Xn/Bs2UbbLlKP5Q1HPxewUDEh0gVMqz9wdIGwH1pPxKvd3NltYGfPsUQovlof3l2
    ALvO7i5Yrm96kknfFEWf1EjmCCKvz2vjVbBb6mp1ZpYfc9MOTZVpQcXSbzb/BWUo
    ZmkDb/DRW5onclGzxQITBFP3S6JXd4LNESJcTp705ec1cQ9Wp2Kl+nKrKyv1E5Xx
    DQIDAQAB
    -----END PUBLIC KEY-----
    </Value>
</PublicKey>

JWS'deki imzayı doğrulamak için kullanılan ortak anahtarı belirtir. Anahtarı bir akış değişkenine aktarmak için ref özelliğini kullanın veya PEM kodlu anahtarı doğrudan belirtin. Yalnızca algoritma RS256/RS384/RS512, PS256/PS384/PS512 veya ES256/ES384/ES512 olduğunda kullanın.

Varsayılan Yok
Varlık (Presence) RSA algoritmasıyla imzalanmış bir JWS'yi doğrulamak için JWKS veya Değer öğelerini kullanmanız gerekir.
Tür Dize
Geçerli değerler Akış değişkeni veya dize.

<SecretKey/Value>

<SecretKey>
  <Value ref="private.your-variable-name"/>
</SecretKey>

Jetonları HMAC algoritmasıyla doğrulamak veya imzalamak için kullanılan gizli anahtarı sağlar. Yalnızca algoritma HS256, HS384 veya HS512 olduğunda kullanın. Bir akış değişkeninde anahtarı iletmek için ref özelliğini kullanın.

Varsayılan Yok
Varlık (Presence) HMAC algoritmaları için gereklidir.
Tür Dize
Geçerli değerler Bir dizeye atıfta bulunan akış değişkeni.

Not: Akış değişkeniyse "private" önekine sahip olmalıdır. Örneğin, private.mysecret

<Source>

<Source>JWS-variable</Source>

Varsa politikanın doğrulanacak JWS'yi bulmayı beklediği akış değişkenini belirtir.

Varsayılan request.header.authorization (Varsayılan değerle ilgili önemli bilgiler için yukarıdaki nota bakın.)
Varlık (Presence) İsteğe bağlı
Tür Dize
Geçerli değerler Bir Edge akış değişkeni adı.

Akış değişkenleri

Başarı üzerine kurulan JWS'yi Doğrulama ve JWS'nin Kodunu Çöz politikaları, bağlam değişkenlerini görürsünüz:

jws.{policy_name}.{variable_name}

Örneğin, politika adı verify-jws ise politika, JWS'de belirtilen algoritmayı kullanın: jws.verify-jws.header.algorithm

Değişken adı Açıklama
decoded.header.name Yükteki bir başlığın JSON ile ayrıştırılabilir değeri. Bir değişken yükteki her başlıktan oluşur. header.name akış değişkenlerini de kullanabilirsiniz bir başlığa erişmek için kullanılması önerilen değişkendir.
header.algorithm JWS'de kullanılan imzalama algoritması. Örneğin, RS256, HS384 vb. Daha fazla bilgi için (Algorithm) Header Parametresi bölümüne bakın.
header.kid JWS oluşturulurken eklenirse Anahtar Kimliği. Ayrıca bkz. "JSON Web Anahtarı Seti Kullanma (JWKS)" JWT ve JWS'de politikalara genel bakış makalesini inceleyebilirsiniz. Daha fazla bilgi için (Anahtar Kimliği) Başlık Parametresi bölümüne bakın.
header.type Başlık türü değeri. Daha fazla bilgi için (Tür) Başlık Parametresi bölümünü inceleyin.
header.name Adlandırılmış başlığın değeri (standart veya ek). Bunlardan biri JWS'nin başlık bölümündeki her ek üstbilgiyi kullanmayın.
header-json JSON biçiminde üstbilgi.
payload JWS'ye eklenmiş bir yük varsa JWS yükü. Ayrı bir yük için bu değişken boştur.
valid VerifyJWS'te, imza doğrulandığında bu değişken "true" (doğru) olacaktır ve geçerli zaman, jetonun süresi dolmadan önce ve jeton notBefore değerinden sonraysa olduğundan emin olun. Aksi takdirde false (yanlış) değerini alır.

DecodeJWS'de bu değişken ayarlanmaz.

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 Gerçekleşme zamanı:
steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 Doğrulama politikasında birden fazla algoritma olduğunda ortaya çıkar
steps.jws.AlgorithmMismatch 401 Oluşturma politikası tarafından başlıkta belirtilen algoritma, Doğrulama politikasında beklenen algoritmayla eşleşmedi. Belirtilen algoritmalar eşleşmelidir.
steps.jws.ContentIsNotDetached 401 <DetachedContent>, JWS, ayrılmış içerik yükü içermiyorsa belirtilir.
steps.jws.FailedToDecode 401 Politika, JWS'nin kodu çözülemedi. JWS büyük olasılıkla bozuktur.
steps.jws.InsufficientKeyLength 401 HS256 algoritmasına göre 32 bayttan küçük bir anahtar için
steps.jws.InvalidClaim 401 Eksik hak talebi veya hak talebi uyuşmazlığı ya da eksik başlık veya başlık uyuşmazlığı için.
steps.jws.InvalidCurve 401 Anahtar tarafından belirtilen eğri, Elips Biçimli Eğri algoritması için geçerli değildir.
steps.jws.InvalidJsonFormat 401 JWS üstbilgisinde geçersiz JSON bulundu.
steps.jws.InvalidJws 401 Bu hata, JWS imzası doğrulaması başarısız olduğunda oluşur.
steps.jws.InvalidPayload 401 JWS yükü geçersiz.
steps.jws.InvalidSignature 401 <DetachedContent> atlanır ve JWS'de ayrı bir içerik yükü bulunur.
steps.jws.KeyIdMissing 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak bir JWKS kullanır ancak imzalanmış JWS, başlıkta bir kid özelliği içermez.
steps.jws.KeyParsingFailed 401 Ortak anahtar, verilen anahtar bilgisinden ayrıştırılamadı.
steps.jws.MissingPayload 401 JWS yükü eksik.
steps.jws.NoAlgorithmFoundInHeader 401 JWS, algoritma başlığını çıkardığında ortaya çıkar.
steps.jws.NoMatchingPublicKey 401 Doğrulama politikası, ortak anahtarlar için kaynak olarak JWKS kullanır ancak imzalanmış JWS'deki kid, JWKS'de listelenmiyor.
steps.jws.UnhandledCriticalHeader 401 crit başlığında JWS'yi Doğrula politikası tarafından bulunan üst bilgi KnownHeaders bölgesinde listelenmiyor.
steps.jws.UnknownException 401 Bilinmeyen bir istisna oluştu.
steps.jws.WrongKeyType 401 Anahtar türü yanlış belirtilmiş. Örneğin, Elips Biçimli Eğri algoritması için RSA anahtarı veya RSA algoritması için eğri anahtarı belirtirseniz.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Gerçekleşme zamanı:
InvalidAlgorithm Geçerli değerler şunlardır: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Diğer olası dağıtım hataları.

Hata değişkenleri

Bu değişkenler, çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Bilmeniz gerekenler hakkında daha fazla bilgi edinin.

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 Matches "TokenExpired"
JWS.failed Tüm JWS politikaları, hata durumunda aynı değişkeni ayarlar. jws.JWS-Policy.failed = true

Örnek hata yanıtı

Hata giderme için en iyi uygulama, hatanın errorcode kısmını yakalamaktır tıklayın. Değişebileceği için faultstring içindeki metne güvenmeyin.

Örnek hata kuralı

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>