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
- RS256 algoritmasıyla imzalanmış ayrılmış bir JWS'yi doğrulama
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, |
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 |
yanlış | İsteğe bağlı |
| etkin |
Politikayı zorunlu kılmak için true olarak ayarlayın.
Politikayı "kapatmak" için |
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 kodusteps.jws.ContentIsNotDetached'dir). <DetachedContent>atlanır ve JWS'nin ayrılmış bir içerik yükü vardır (hata kodusteps.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,
|
<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. |
|
|
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>