Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Ne?
Yapılandırılabilir bir hak talebi grubu içeren imzalı bir JWT oluşturur. JWT daha sonra arka uç hedeflerine aktarılan ya da başka şekillerde kullanılan Ayrıntılı bilgi için JWS ve JWT politikalarına genel bakış sayfasına göz atın.
Video
İmzalanmış bir JWT'nin nasıl oluşturulacağını öğrenmek için kısa bir video izleyin.
Örnekler
HS256 ile imzalanmış bir JWT oluşturun algoritma
Bu örnek politika, yeni bir JWT oluşturur ve HS256 algoritmasını kullanarak imzalar. HS256 referansları hem imza hem de doğrulama için paylaşılan bir sırla.
Bu politika işlemi tetiklendiğinde Edge, JWT başlığını ve yükünü kodlar, ardından dijital olarak JWT'yi imzalar. Politikaya nasıl istekte bulunabileceğiniz de dahil olmak üzere eksiksiz bir örnek için yukarıdaki videoyu izleyin.
Buradaki politika yapılandırması, JWT spesifikasyonu (1 saatlik geçerlilik süresi ve ek bir talep dahil). Şunları yapabilirsiniz: istediğiniz kadar ek hak talebi ekleyebilirsiniz. Şu konuyla ilgili ayrıntılar için Element referansına bakın: her öğe için gereklilik ve seçenekleri sunar.
<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="show">And now for something completely different.</Claim> </AdditionalClaims> <OutputVariable>jwt-variable</OutputVariable> </GenerateJWT>
Oluşturulan JWT, şu başlığa sahip olacaktır ...
{
"typ" : "JWT",
"alg" : "HS256",
"kid" : "1918290"
}... ve şuna benzer içeriklere sahip bir yük olacaktır:
{
"sub" : "monty-pythons-flying-circus",
"iss" : "urn://apigee-edge-JWT-policy-test",
"aud" : "show",
"iat" : 1506553019,
"exp" : 1506556619,
"jti" : "BD1FF263-3D25-4593-A685-5EC1326E1F37",
"show": "And now for something completely different."
}iat, exp ve jti taleplerinin değeri değişiklik gösterir.
RS256 ile imzalanmış bir JWT oluşturma algoritma
Bu örnek politika, yeni bir JWT oluşturur ve RS256 algoritmasını kullanarak imzalar. Oluşturuluyor RS256 imzası, PEM kodlu biçimde sağlanması gereken bir RSA özel anahtarını temel alır. Politikaya nasıl istekte bulunabileceğiniz de dahil olmak üzere eksiksiz bir örnek için yukarıdaki videoyu izleyin.
Bu politika işlemi tetiklendiğinde Edge, hak talepleri de dahil olmak üzere JWT'yi kodlar ve dijital olarak imzalar. JWT'nin bölümleri ve bunların nasıl şifrelenip imzalandığı hakkında bilgi edinmek için RFC7519'a bakın.
<GenerateJWT name="JWT-Generate-RS256"> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PrivateKey> <Value ref="private.privatekey"/> <Password ref="private.privatekey-password"/> <Id ref="private.privatekey-id"/> </PrivateKey> <Subject>apigee-seattle-hatrack-montage</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>urn://c60511c0-12a2-473c-80fd-42528eb65a6a</Audience> <ExpiresIn>60m</ExpiresIn> <Id/> <AdditionalClaims> <Claim name="show">And now for something completely different.</Claim> </AdditionalClaims> <OutputVariable>jwt-variable</OutputVariable> </GenerateJWT>
Temel öğeleri ayarlama
JWT'yi oluşturmak için kullanılan anahtarı belirtmek için kullandığınız öğeler seçilen algoritmaya bağlıdır. aşağıdaki tabloda gösterildiği gibi):
| Algoritma | Temel öğeler | |
|---|---|---|
| HS{256/384/512}* | <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> |
|
| RS/PS/ES{256/384/512}* | <PrivateKey> <Value ref="private.privatekey"/> <Password ref="private.privatekey-password"/> <Id ref="private.privatekey-id"/> </PrivateKey>
|
|
| *Temel şartlar hakkında daha fazla bilgi için İmza şifreleme algoritmaları hakkında. | ||
JWT oluştur için öğe referansı
Politika referansında, JWT oluştur politikasının öğeleri ve özellikleri açıklanır.
Not: Yapılandırma, şifrelemeye bağlı olarak biraz farklılık gösterir. belirlemektir. Aşağıdaki örnekler için Örnekler'e bakın: yapılandırmalarına yardımcı olur.
Şu özellikler üst düzey öğeye uygula
<GenerateJWT name="JWT" continueOnError="false" enabled="true" async="false">
Aşağıdaki özellikler tüm politika üst öğeleri için ortaktır.
| Özellik | Açıklama | Varsayılan | Bulunma |
|---|---|---|---|
| ad |
Politikanın dahili adı. Adda kullanabileceğiniz karakterler aşağıdakilerle sınırlıdır:
A-Z0-9._\-$ % Bununla birlikte, Edge yönetim arayüzü,
alfasayısal olmayan karakterlerin otomatik olarak kaldırılması gibi kısıtlamalara tabidir.
İsteğe bağlı olarak, |
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 |
false | İsteğe bağlı |
| etkin |
Politikayı uygulamak için true olarak ayarlayın.
"Kapat" için |
true | İsteğe bağlı |
| eş zamansız | Bu özelliğin desteği sonlandırıldı. | false | Kullanımdan kaldırıldı |
<DisplayName>
<DisplayName>Policy Display Name</DisplayName>
Yönetim kullanıcı arayüzü proxy düzenleyicisinde politikayı etiketlemek için ad özelliğine ek olarak kullanın doğal bir dille değiştirin.
| Varsayılan | Bu öğeyi çıkarırsanız politikanın ad özelliğinin değeri kullanılır. |
| Bulunma | İsteğe bağlı |
| Tür | Dize |
<Algorithm>
<Algorithm>algorithm-here</Algorithm>
Jetonu imzalamak için kullanılacak şifreleme algoritmasını belirtir.
| Varsayılan | Yok |
| Bulunma | Zorunlu |
| Tür | Dize |
| Geçerli değerler | HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512 |
<Audience>
<Audience>audience-here</Audience> or: <Audience ref='variable_containing_audience'/>
Politika, belirtilen değere ayarlanmış aud talebi içeren bir JWT oluşturur değer. Bu hak talebi, JWT'nin hedeflendiği alıcıları tanımlar. Bu, RFC7519'da belirtilen kayıtlı hak talepleri için geçerlidir.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dizi (virgülle ayrılmış değerler listesi) |
| Geçerli değerler | Kitleyi tanımlayan herhangi bir şey. |
<AdditionalClaims/Claim>
<AdditionalClaims> <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'/> </AdditionalClaims> or: <AdditionalClaims ref='claim_payload'/>
JWT yükünde ek hak talebi adı/değer çiftleri belirtebilmenizi sağlar. Tekliflerinizi otomatikleştirmek ve optimize etmek için dize, sayı, boole, harita veya dizi biçiminde olabilir. Harita, bir ad/değer kümesidir çiftler.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Geçerli değerler | Ek bir hak talebi için kullanmak istediğiniz herhangi bir değer. Tekliflerinizi otomatikleştirmek ve optimize etmek için dize, sayı, boole, harita veya dizi biçiminde olabilir. |
<Claim> öğesi şu özellikleri alır:
- name - (Zorunlu) Hak talebinin adı.
- ref - (İsteğe bağlı) Bir akış değişkeninin adı. Varsa politika, değişkeninin hak talebi olarak kabul edildiğini gösterir. Hem bir ref özelliği hem de açık bir hak talebi değeri belirtilirse açık değer varsayılan değerdir ve başvurulan akış değişkeni çözümlenmemişse kullanılır.
- type - (İsteğe bağlı) Şunlardan biri: dize (varsayılan), sayı, boole veya harita
- dizi - (İsteğe bağlı) Değerin bir tür dizisi olup olmadığını belirtmek için true olarak ayarlayın. Varsayılan: false (yanlış) değerini alır.
<Claim> öğesini eklediğinizde, hak talebi adları
politikayı yapılandırın. Alternatif olarak talep adlarını belirtmek için bir JSON nesnesi aktarabilirsiniz.
JSON nesnesi değişken olarak geçirildiğinden, oluşturulan JWT'deki talep adları çalışma zamanında belirlenir.
Örneğin:
<AdditionalClaims ref='json_claims'/>
json_claims değişkeninin şu biçimde bir JSON nesnesi içerdiği durumda:
{ "sub" : "person@example.com", "iss" : "urn://secure-issuer@example.com", "non-registered-claim" : { "This-is-a-thing" : 817, "https://example.com/foobar" : { "p": 42, "q": false } } }
Oluşturulan JWT, JSON nesnesindeki tüm talepleri içerir.
<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>
Ek talep adını/değer çiftlerini JWT'nin başlığına yerleştirir.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Geçerli değerler | Ek bir hak talebi için kullanmak istediğiniz herhangi bir değer. Tekliflerinizi otomatikleştirmek ve optimize etmek için dize, sayı, boole, harita veya dizi biçiminde olabilir. |
<Claim> öğesi şu özellikleri alır:
- name - (Zorunlu) Hak talebinin adı.
- ref - (İsteğe bağlı) Bir akış değişkeninin adı. Varsa politika, değişkeninin hak talebi olarak kabul edildiğini gösterir. Hem bir ref özelliği hem de açık bir hak talebi değeri belirtilirse açık değer varsayılan değerdir ve başvurulan akış değişkeni çözümlenmemişse kullanılır.
- type - (İsteğe bağlı) Şunlardan biri: dize (varsayılan), sayı, boole veya harita
- dizi - (İsteğe bağlı) Değerin bir tür dizisi olup olmadığını belirtmek için true olarak ayarlayın. Varsayılan: false (yanlış) değerini alır.
<CriticalHeaders>
<CriticalHeaders>a,b,c</CriticalHeaders> or: <CriticalHeaders ref=’variable_containing_headers’/>
Kritik üstbilgi olan crit'i JWT başlığına ekler. crit başlığı JWT alıcısı tarafından bilinmesi ve tanınması gereken bir başlık adları dizisidir. Örneğin:
{
“typ: “...”,
“alg” : “...”,
“crit” : [ “a”, “b”, “c” ],
}Çalışma zamanında, VerifyJWT politikası crit başlığını inceler.
crit başlığında listelenen her öğe için <KnownHeaders> öğesinin
VerifyJWT politikası bu başlığı da listeler. VerifyJWT politikasının crit'te bulduğu herhangi bir başlık
aynı zamanda <KnownHeaders> içinde de listelenmeyen bir veri kümesi, VerifyJWT politikasının başarısız olmasına neden olur.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Virgülle ayrılmış dize dizisi |
| Geçerli değerler | Bir dizi veya diziyi içeren bir değişkenin adı. |
<CustomClaims>
Not: Şu anda yeni bir Kullanıcı arayüzü aracılığıyla JWT politikası oluşturun. Bu öğe işlevsel olmadığı için yoksayıldı. Doğru öğesi <AdditionalClaims>. Kullanıcı arayüzü daha sonra doğru öğeleri eklemek üzere güncellenmelidir.
<ExpiresIn>
<ExpiresIn>time-value-here</ExpiresIn>
JWT'nin kullanım ömrünü milisaniye, saniye, dakika, saat veya gün cinsinden belirtir.
| Varsayılan | N/A |
| Bulunma | İsteğe bağlı |
| Tür | Tamsayı |
| Geçerli değerler |
Değeri içeren bir akış değişkenine ait değer veya bu değişkene başvuru. Zaman birimleri için şu şekilde belirtilir:
Örneğin, |
<Id>
<Id>explicit-jti-value-here</Id> -or- <Id ref='variable-name-here'/> -or- <Id/>
Belirli jti hak talebiyle bir JWT oluşturur. Hem metin değeri hem de ref özelliği aynı olduğunda boşsa politika, rastgele bir UUID içeren bir jti oluşturur. JWT kimliği (jti) talebi, JWT'nin benzersiz tanımlayıcısıdır. jti hakkında daha fazla bilgi için RFC7519'a bakın.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize veya referans. |
| Geçerli değerler | Bir dize veya kimliği içeren bir akış değişkeninin adı. |
<IgnoreUnresolvedVariables>
<IgnoreUnresolvedVariables>true|false</IgnoreUnresolvedVariables>
Başvurulan herhangi bir değişken belirtildiğinde politikanın hata vermesini istiyorsanız false (yanlış) değerine ayarlayın bu politikada çözülemez. Çözümlenemeyen değişkenleri boş dize olarak ele almak için doğru değerine ayarlanır (boş).
| Varsayılan | Yanlış |
| Bulunma | İsteğe bağlı |
| Tür | Boole |
| Geçerli değerler | doğru veya yanlış |
<Issuer>
<Issuer ref='variable-name-here'/> <Issuer>issuer-string-here</Issuer>
Politika,iss adında ve değeri ayarlanmış bir hak talebi içeren JWT oluşturur. . JWT'yi veren kuruluşu tanımlayan bir hak talebi. Bu, RFC7519'da belirtilen kayıtlı hak talepleri grubudur.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize veya referans |
| Geçerli değerler | Tümü |
<NotBefore>
<!-- Specify an absolute time. --> <NotBefore>2017-08-14T11:00:21-07:00</NotBefore> -or- <!-- Specify a time relative to when the token is generated. --> <NotBefore>6h</NotBefore>
Jetonun geçerli olacağı zamanı belirtir. Jeton, belirtilen zamana kadar geçersiz. Mutlak zaman değeri veya jetonun oluşturulduğu zamana bağlı bir saat belirtebilirsiniz.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize |
| Geçerli değerler | Aşağıdaki bilgilere bakın. |
Mutlak zaman değerleri için NotBefore öğesi için geçerli zaman değerleri
| Ad | Biçim | Örnek |
| sıralanabilir | yyyy-MM-dd'T'HH:mm:ss.SSSZ |
2017-08-14T11:00:21.269-0700 |
| RFC 1123 | EEE, dd MMM yyyy HH:mm:ss zzz |
14 Ağustos 2017 Pazartesi 11:00:21 PDT |
| RFC 850 | EEEE, dd-MMM-yy HH:mm:ss zzz |
14 Ağustos - 17 Ağustos Pazartesi 11:00:21 PDT |
| ANCI-C | EEE MMM d HH:mm:ss yyyy |
14 Ağustos Pzt 11:00:21 2017 |
Göreli zaman değerleri için bir tam sayı ve bir dönem belirtin. Örneğin:
- 10 saniye
- 60 dk.
- 12 s
<OutputVariable>
<OutputVariable>jwt-variable</OutputVariable>
Bu politika tarafından oluşturulan JWT'nin nereye yerleştirileceğini belirtir. Varsayılan olarak
akış değişkeni jwt.POLICYNAME.generated_jwt.
| Varsayılan | jwt.POLICYNAME.generated_jwt |
| Bulunma | İsteğe bağlı |
| Tür | Dize (akış değişkeni adı) |
<PrivateKey/Id>
<PrivateKey> <Id ref="flow-variable-name-here"/> </PrivateKey> or <PrivateKey> <Id>your-id-value-here</Id> </PrivateKey>
JWT başlığına eklenecek anahtar kimliğini (çocuk) belirtir. Yalnızca kullanım ile ilgili bir mesaj oluşturun.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize |
| Geçerli değerler | Akış değişkeni veya dizesi |
<PrivateKey/Password>
<PrivateKey> <Password ref="private.privatekey-password"/> </PrivateKey>
Gerekirse politikanın özel anahtarın şifresini çözmek için kullanması gereken şifreyi belirtin. Şunu kullanın: ref özelliğini kullanabilirsiniz. Yalnızca kullanım ile ilgili bir mesaj oluşturun.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize |
| Geçerli değerler |
Akış değişkeni referansı.
Not: Bir akış değişkeni belirtmeniz gerekir. Edge, geçersiz bir a
şifrenin şifrelenmemiş metin olarak belirtildiği politika yapılandırması. Akış değişkeni
"private" ön ekine sahip olmalıdır. Örneğin, |
<PrivateKey/Value>
<PrivateKey> <Value ref="private.variable-name-here"/> </PrivateKey>
JWT'yi imzalamak için kullanılan PEM kodlu özel anahtarı belirtir. anahtarın içine yerleştirin. Yalnızca algoritma RS256/RS384/RS512 değerlerinden biri olduğunda kullanın. PS256/PS384/PS512 veya ES256/ES384/ES512.
| Varsayılan | Yok |
| Bulunma | RS256 algoritmasını kullanarak bir JWT oluşturmak için gereklidir. |
| Tür | Dize |
| Geçerli değerler |
PEM kodlu RSA özel anahtar değerini temsil eden bir dize içeren akış değişkeni.
Not: Akış değişkeninin ön eki "private" olmalıdır. Örneğin,
|
<SecretKey/Id>
<SecretKey> <Id ref="flow-variable-name-here"/> </SecretKey> or <SecretKey> <Id>your-id-value-here</Id> </SecretKey>
HMAC ile imzalanmış bir JWT'nin JWT başlığına eklenecek anahtar kimliğini (kid) belirtir algoritmasından faydalanırsınız. Yalnızca algoritma HS256/HS384/HS512'den biri olduğunda kullanın.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize |
| Geçerli değerler | Akış değişkeni veya dizesi |
<SecretKey/Value>
<SecretKey> <Value ref="private.your-variable-name"/> </SecretKey>
HMAC algoritmasıyla jetonları doğrulamak veya imzalamak için kullanılan gizli anahtarı sağlar. Yalnızca kullanım olması gerekir. ref özelliğini kullanın anahtarı bir akış değişkeninde geçirecek.
Edge, HS256/HS384/HS512 algoritmaları için minimum bir anahtar gücü uygular. Minimum anahtar uzunluğu HS256 için 32 bayt, HS384 için 48 bayt ve HS512 için 64 bayttır. Daha düşük güçlü bir anahtar kullanılması çalışma zamanı hatasına neden olur.
| Varsayılan | Yok |
| Bulunma | HMAC algoritmaları için gereklidir. |
| Tür | Dize |
| Geçerli değerler |
Bir dizeye atıfta bulunan bir akış değişkeni
Not: Akış değişkeni ise "private" ön ekine sahip olmalıdır. Örneğin,
örnek, |
<Subject>
<Subject>subject-string-here</Subject>
<Subject ref="flow_variable" />
Örneğin:
<Subject ref="apigee.developer.email"/>
Politika, belirtilen değere ayarlanmış sub hak talebi içeren bir JWT oluşturur değeri.Bu iddia, JWT'nin konusunu tanımlar veya bu konuda bir açıklama yapar. Bu, RFC7519'da belirtilen standart bir hak talebi grubudur.
| Varsayılan | Yok |
| Bulunma | İsteğe bağlı |
| Tür | Dize |
| Geçerli değerler | Bir konuyu veya bir değere atıfta bulunan akış değişkenini benzersiz şekilde tanımlayan herhangi bir değer. |
Akış değişkenleri
JWT oluştur politikası, akış değişkenlerini ayarlamaz.
Hata referansı
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Occurs when |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Occurs when the verification policy has multiple algorithms. |
steps.jwt.AlgorithmMismatch |
401 | The algorithm specified in the Generate policy did not match the one expected in the Verify policy. The algorithms specified must match. |
steps.jwt.FailedToDecode |
401 | The policy was unable to decode the JWT. The JWT is possibly corrupted. |
steps.jwt.GenerationFailed |
401 | The policy was unable to generate the JWT. |
steps.jwt.InsufficientKeyLength |
401 | For a key less than 32 bytes for the HS256 algorithm, less than 48 bytes for the HS386 algortithm, and less than 64 bytes for the HS512 algorithm. |
steps.jwt.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jwt.InvalidCurve |
401 | The curve specified by the key is not valid for the Elliptic Curve algorithm. |
steps.jwt.InvalidJsonFormat |
401 | Invalid JSON found in the header or payload. |
steps.jwt.InvalidToken |
401 | This error occurs when the JWT signature verification fails. |
steps.jwt.JwtAudienceMismatch |
401 | The audience claim failed on token verification. |
steps.jwt.JwtIssuerMismatch |
401 | The issuer claim failed on token verification. |
steps.jwt.JwtSubjectMismatch |
401 | The subject claim failed on token verification. |
steps.jwt.KeyIdMissing |
401 | The Verify policy uses a JWKS as a source for public keys, but the signed JWT does not
include a kid property in the header. |
steps.jwt.KeyParsingFailed |
401 | The public key could not be parsed from the given key information. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Occurs when the JWT contains no algorithm header. |
steps.jwt.NoMatchingPublicKey |
401 | The Verify policy uses a JWKS as a source for public keys, but the kid
in the signed JWT is not listed in the JWKS. |
steps.jwt.SigningFailed |
401 | In GenerateJWT, for a key less than the minimum size for the HS384 or HS512 algorithms |
steps.jwt.TokenExpired |
401 | The policy attempts to verify an expired token. |
steps.jwt.TokenNotYetValid |
401 | The token is not yet valid. |
steps.jwt.UnhandledCriticalHeader |
401 | A header found by the Verify JWT policy in the crit header is not
listed in KnownHeaders. |
steps.jwt.UnknownException |
401 | An unknown exception occurred. |
steps.jwt.WrongKeyType |
401 | Wrong type of key specified. For example, if you specify an RSA key for an Elliptic Curve algorithm, or a curve key for an RSA algorithm. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidNameForAdditionalClaim |
The deployment will fail if the claim used in the child element <Claim>
of the <AdditionalClaims> element is one of the following registered names:
kid, iss, sub, aud, iat,
exp, nbf, or jti.
|
build |
InvalidTypeForAdditionalClaim |
If the claim used in the child element <Claim>
of the <AdditionalClaims> element is not of type string, number,
boolean, or map, the deployment will fail.
|
build |
MissingNameForAdditionalClaim |
If the name of the claim is not specified in the child element <Claim>
of the <AdditionalClaims> element, the deployment will fail.
|
build |
InvalidNameForAdditionalHeader |
This error ccurs when the name of the claim used in the child element <Claim>
of the <AdditionalClaims> element is either alg or typ.
|
build |
InvalidTypeForAdditionalHeader |
If the type of claim used in the child element <Claim>
of the <AdditionalClaims> element is not of type string, number,
boolean, or map, the deployment will fail.
|
build |
InvalidValueOfArrayAttribute |
This error occurs when the value of the array attribute in the child element <Claim>
of the <AdditionalClaims> element is not set to true or false.
|
build |
InvalidConfigurationForActionAndAlgorithm |
If the <PrivateKey> element is used with HS Family algorithms or
the <SecretKey> element is used with RSA Family algorithms, the
deployment will fail.
|
build |
InvalidValueForElement |
If the value specified in the <Algorithm> element is not a supported value,
the deployment will fail.
|
build |
MissingConfigurationElement |
This error will occur if the <PrivateKey> element is not used with
RSA family algorithms or the <SecretKey> element is not used with HS Family
algorithms.
|
build |
InvalidKeyConfiguration |
If the child element <Value> is not defined in the <PrivateKey>
or <SecretKey> elements, the deployment will fail.
|
build |
EmptyElementForKeyConfiguration |
If the ref attribute of the child element <Value> of the <PrivateKey>
or <SecretKey> elements is empty or unspecified, the deployment will fail.
|
build |
InvalidVariableNameForSecret |
This error occurs if the flow variable name specified in the ref attribute of the child
element <Value> of the <PrivateKey>
or <SecretKey> elements does not contain the private prefix (private.).
|
build |
InvalidSecretInConfig |
This error occurs if the child element <Value> of the <PrivateKey>
or <SecretKey> elements does not contain the private prefix (private.).
|
build |
InvalidTimeFormat |
If the value specified in the<NotBefore> element does not use a
supported format, the deployment will fail.
|
build |
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" |
JWT.failed |
Tüm JWT politikaları, hata durumunda aynı değişkeni ayarlar. | JWT.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="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>