आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
InvalidNameForAdditionalClaim
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब <AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में इस्तेमाल किए गए दावे का नाम, रजिस्टर किए गए इन नामों में से एक हो:
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
रजिस्टर किए गए दावों की जानकारी RFC7519 में दी गई है.
उदाहरण के लिए, <AdditionalClaims>
एलिमेंट में iss
दावे का नाम इस्तेमाल करने से यह गड़बड़ी दिखेगी.
संक्रमण की जांच
गड़बड़ी के मैसेज से, पुष्टि करने के लिए JWT की नीति का नाम और दावे के नाम की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और दावे का नामiss
है:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
पुष्टि करें कि पुष्टि नहीं हुई JWT नीति एक्सएमएल में,
<AdditionalClaims>
एलिमेंट के तहत इस्तेमाल किया गया दावा नाम, पहले चरण में गड़बड़ी के मैसेज में बताए गए दावे के नाम से मेल खाता है. उदाहरण के लिए, यह नीतिiss
के तौर पर दावे के बारे में बताती है, जो गड़बड़ी के मैसेज में मौजूद दावे से मेल खाता है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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="iss"/> </AdditionalClaims> </VerifyJWT>
अगर
<AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट<Claim>
में इस्तेमाल किया गया दावा नाम, यहां बताए गए रजिस्टर किए गए नामों में से एक है:"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
तो यह गड़बड़ी की वजह है.
ऊपर दिखाई गई JWT की पुष्टि करने की नीति के उदाहरण में,
<AdditionalClaims>
एलिमेंट में<Claim>
का नामiss
के तौर पर बताया गया है. इससे यह गड़बड़ी दिखती है:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
रिज़ॉल्यूशन
रजिस्टर किए गए किसी भी नाम "kid", "iss", "sub", "aud", "iat", "exp", "nbf" का इस्तेमाल न करें या "jti" <AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में.
JWT की पुष्टि करने की नीति के उदाहरण से जुड़ी समस्या को ठीक करने के लिए, दावे का नाम बदलकर status
करें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
VerifyJWT नीति के <AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में इस्तेमाल किया गया दावा, इनमें से एक तरह का नहीं है:
string
(डिफ़ॉल्ट), number
, boolean
या map
उदाहरण के लिए, <AdditionalClaims>
एलिमेंट में integer
दावे का इस्तेमाल करने से गड़बड़ी हो जाएगी.
संक्रमण की जांच
पुष्टि करने के लिए JWT की नीति का नाम, दावे का नाम, और गड़बड़ी के मैसेज से टाइप की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि करने के लिए JWT की नीति का नाम
JWT-Verify-RS256
, दावे का नामclaim
, और टाइपinteger:
हैInvalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
यह पक्का करें कि पुष्टि नहीं हुई JWT नीति के एक्सएमएल में,
<AdditionalClaims>
एलिमेंट के तहत इस्तेमाल किया गया दावा का नाम और टाइप, पहले चरण में गड़बड़ी के मैसेज में बताए गए दावे के नाम और टाइप से मेल खाता है. उदाहरण के लिए, नीचे दी गई नीति, दावे कोclaim
औरinteger
टाइप के बारे में बताती है, जो गड़बड़ी के मैसेज में मौजूद दावे से मेल खाता है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </VerifyJWT>
अगर
<AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट<Claim>
में इस्तेमाल किया गया दावा, इनमें से कोई एक टाइप नहीं है, तो:string
(डिफ़ॉल्ट),number
,boolean
याmap
तो यह गड़बड़ी की वजह है.
ऊपर दिखाई गई JWT की पुष्टि करने की नीति के उदाहरण में,
<AdditionalClaims>
एलिमेंट में<Claim>
टाइप कोinteger
के तौर पर बताया गया है.integer
का इस्तेमाल नहीं किया जा सकता, इसलिए आपको यह गड़बड़ी मिलती है:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
रिज़ॉल्यूशन
पक्का करें कि <AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में, सिर्फ़ काम करने वाले डेटा टाइप string
(डिफ़ॉल्ट), number
, boolean
या map
का इस्तेमाल किया जा रहा हो.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, दावे के टाइप को boolean
में बदलें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब दावे का नाम <AdditionalClaims>
या <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में नहीं बताया गया हो.
संक्रमण की जांच
गड़बड़ी के मैसेज से, Verify JWT नीति का नाम पहचानें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT की नीति का नाम
JWT-Verify-RS256
है:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
पुष्टि नहीं हो पाने वाली JWT नीति एक्सएमएल की जांच करें और पुष्टि करें कि
<AdditionalClaims>
या<AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट<Claims>
में, दावे का नाम मौजूद नहीं है. उदाहरण के लिए, नीचे दी गई पुष्टि जेडब्ल्यूटी नीति,<AdditionalClaims>
एलिमेंट के तहत दावे का नाम नहीं बताती:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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 ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
एलिमेंट में<Claim>
नाम नहीं बताया गया है. इसलिए, आपको यह गड़बड़ी मिलती है:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
रिज़ॉल्यूशन
यह पक्का कर लें कि दावे का नाम हमेशा <AdditionalClaims>
या <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में बताया गया हो.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, दावे का नाम डालें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में इस्तेमाल किए गए दावे का नाम, यहां दिए गए स्टैंडर्ड JWT हेडर में से एक होता है:
alg
या typ
उदाहरण के लिए, <AdditionalHeaders>
एलिमेंट में alg
दावे का नाम इस्तेमाल करने से गड़बड़ी हो सकती है.
संक्रमण की जांच
गड़बड़ी के मैसेज से, Verify JWT नीति और हेडर के नाम की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
और हेडर का नामalg
है:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
पुष्टि करें कि पुष्टि नहीं हो सके JWT नीति एक्सएमएल के
<AdditionalHeaders>
एलिमेंट में, चाइल्ड एलिमेंट<Claim>
में इस्तेमाल किया गया हेडर नाम, पहले चरण में गड़बड़ी के मैसेज में बताए गए हेडर नाम से मेल खाता है. उदाहरण के लिए, यह नीति हेडर के बारे मेंalg
के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाता है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </VerifyJWT>
अगर
<AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट<Claim>
में इस्तेमाल किया गया हेडर नाम, नीचे दिए गए स्टैंडर्ड JWT हेडर में से एक है:alg
याtyp
तो यह गड़बड़ी की वजह है.
ऊपर दिखाई गई JWT की पुष्टि करने की नीति के उदाहरण में,
<AdditionalClaims>
एलिमेंट में<Claim>
का नामalg
के तौर पर बताया गया है. इससे यह गड़बड़ी दिखती है:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
रिज़ॉल्यूशन
<AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में, स्टैंडर्ड JWT हेडर alg
या typ
का इस्तेमाल न करें.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में x5c
नाम का इस्तेमाल करें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidTypeForAdditionalHeader
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
गड़बड़ी तब होती है, जब पुष्टि की जेडब्लयूटी नीति के <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में इस्तेमाल किया गया दावा, इनमें से कोई एक तरह का नहीं होता:
string
(डिफ़ॉल्ट), number
, boolean
या map
उदाहरण के लिए, <AdditionalHeaders>
एलिमेंट में integer
दावे का इस्तेमाल करने से गड़बड़ी हो सकती है.
संक्रमण की जांच
पुष्टि करने के लिए JWT की नीति का नाम, दावे का नाम, और गड़बड़ी के मैसेज से टाइप करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है, दावे का नामclaim
है, और टाइपinteger
है:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
यह पक्का करें कि पुष्टि नहीं हुई JWT नीति के एक्सएमएल में,
<AdditionalClaims>
एलिमेंट के तहत इस्तेमाल किया गया दावा का नाम और टाइप, पहले चरण में गड़बड़ी के मैसेज में बताए गए दावे के नाम और टाइप से मेल खाता है. उदाहरण के लिए, नीचे दी गई नीति दावे कोclaim
के तौर पर और दावे के टाइप कोinteger,
के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद दावे से मेल खाता है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </VerifyJWT>
अगर
<AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट<Claim>
में इस्तेमाल किया गया दावा, इनमें से कोई एक टाइप नहीं है, तो:string
(डिफ़ॉल्ट),number
,boolean
याmap
तो यह गड़बड़ी की वजह है.
ऊपर दिखाई गई JWT की पुष्टि करने की नीति के उदाहरण में,
<AdditionalHeaders>
एलिमेंट में<Claim>
टाइप कोinteger
के तौर पर बताया गया है.integer
का इस्तेमाल नहीं किया जा सकता, इसलिए आपको यह गड़बड़ी मिलती है:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
रिज़ॉल्यूशन
पक्का करें कि <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में, सिर्फ़ काम करने वाले डेटा टाइप string
, number
, boolean
या map
का इस्तेमाल किया गया हो.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, दावे के टाइप को boolean
में बदलें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueOfArrayAttribute
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब <AdditionalClaims>
या <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में अरे एट्रिब्यूट की वैल्यू true
या false
पर सेट नहीं होती.
उदाहरण के लिए, <AdditionalClaims>
या <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में अरे एट्रिब्यूट की वैल्यू को yes
के तौर पर सेट करने से गड़बड़ी होती है.
संक्रमण की जांच
गड़बड़ी के मैसेज से, पुष्टि करने के लिए JWT की नीति का नाम और दावे के नाम की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और दावे का नामclaim
है:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
यह पक्का करें कि पुष्टि नहीं हुई JWT नीति एक्सएमएल के
<AdditionalHeaders>
एलिमेंट में, चाइल्ड एलिमेंट<Claim>
में इस्तेमाल किया गया दावा नाम, पहले चरण में गड़बड़ी के मैसेज में बताए गए दावे के नाम से मेल खाता है. उदाहरण के लिए, नीचे दी गई नीति, दावे के नाम कोclaim
के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद दावे से मेल खाता है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </VerifyJWT>
अगर
<AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट<Claim>
मेंarray
एट्रिब्यूट की वैल्यूtrue
याfalse
पर सेट नहीं की गई है, तो यह गड़बड़ी की वजह है.ऊपर दिए गए उदाहरण में,
<AdditionalClaims>
एलिमेंट के चाइल्ड एलिमेंट<Claim>
मेंarray
एट्रिब्यूट कोyes
पर सेट किया गया है. इस वजह से, आपको यह गड़बड़ी मिलती है:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
रिज़ॉल्यूशन
पक्का करें कि <AdditionalClaims>
या <AdditionalHeaders>
एलिमेंट के चाइल्ड एलिमेंट <Claim>
में अरे एट्रिब्यूट की वैल्यू, true
या false
पर सेट हो.
ऊपर दिखाई गई JWT की पुष्टि करने की नीति का सही तरीके से इस्तेमाल करने के लिए, अरे एट्रिब्यूट की वैल्यू को true
में बदलें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueForElement
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब <Algorithm>
एलिमेंट में दी गई वैल्यू, इन वैल्यू में से एक न हो:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
उदाहरण के लिए, <Algorithm>
एलिमेंट में एल्गोरिदम वैल्यू को RS128
के तौर पर तय करने से यह गड़बड़ी होती है.
संक्रमण की जांच
गड़बड़ी के मैसेज से, Verify JWT नीति का नाम और एलिमेंट के नाम की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और एलिमेंट का नामAlgorithm
है:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
पुष्टि नहीं हो पाने वाली JWT नीति की एक्सएमएल की जांच करें और
<Algorithm>
एलिमेंट के लिए दी गई वैल्यू की जांच करें.यहां पुष्टि के लिए जेडब्लयूटी से जुड़ी नीति का एक नमूना दिया गया है:
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</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='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>
<Algorithm>
एलिमेंट में दी गई वैल्यू की जांच करें. अगर यह इनमें से कोई वैल्यू नहीं है:HS256
,HS384
,HS512
,RS256
,RS384
,RS512
तो यह गड़बड़ी की वजह है.
ऊपर दिखाई गई JWT की पुष्टि करने की नीति के उदाहरण में,
<Algorithm>
नाम कोHS128
के तौर पर बताया गया है. इस एल्गोरिदम का इस्तेमाल नहीं किया जा सकता, इसलिए आपको गड़बड़ी का यह मैसेज मिलता है:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
रिज़ॉल्यूशन
पक्का करें कि <Algorithm>
एलिमेंट में दी गई वैल्यू, इस्तेमाल की जा सकने वाली वैल्यू में से एक हो:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
ऊपर दिखाई गई JWT की पुष्टि करने की नीति को ठीक करने के लिए, <Algorithm>
की वैल्यू को HS25
में बदलें. इस नीति में <SecretKey>
एलिमेंट का इस्तेमाल किया जाता है. ध्यान दें, <SecretKey>
एलिमेंट का इस्तेमाल करने पर, सिर्फ़ एचएस फ़ैमिली एल्गोरिदम का इस्तेमाल किया जा सकता है.
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब पुष्टि करने के लिए जेडब्लयूटी की नीति में, आरएसए फ़ैमिली एल्गोरिदम के साथ <PublicKey>
एलिमेंट का इस्तेमाल नहीं किया जाता है. इसी तरह, अगर जेडब्लयूटी की पुष्टि करने की नीति में <SecretKey>
एलिमेंट का इस्तेमाल एचएस फ़ैमिली एल्गोरिदम के साथ नहीं किया जाता है, तो भी गड़बड़ी हो सकती है.
उदाहरण के लिए, आरएसए फ़ैमिली एल्गोरिदम के साथ <PublicKey>
एलिमेंट का इस्तेमाल न करने पर, यह गड़बड़ी होती है.
संक्रमण की जांच
पुष्टि करें कि JWT नीति का नाम क्या है और गड़बड़ी के मैसेज में एलिमेंट का नाम मौजूद नहीं है. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और एलिमेंट का नामPublicKey
नहीं है:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
पुष्टि नहीं हो पाने वाली JWT नीति एक्सएमएल की जांच करें और पुष्टि करें कि गड़बड़ी के मैसेज में बताया गया एलिमेंट मौजूद नहीं है. अगर यह मौजूद नहीं है, तो यह गड़बड़ी की वजह है.
उदाहरण के लिए, इस नीति से पता चलता है कि
PublicKey
मौजूद नहीं है औरAlgorithm
इस्तेमाल की गई वैल्यूRS256
है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
'पुष्टि करें कि जेडब्ल्यूटी' नीति के उदाहरण में एचएस फ़ैमिली एल्गोरिदम का इस्तेमाल किया गया है, लेकिन ज़रूरी एलिमेंट
PublicKey
मौजूद नहीं है. इस वजह से यह गड़बड़ी होती है:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
रिज़ॉल्यूशन
पक्का करें कि आरएसए फ़ैमिली एल्गोरिदम के साथ ज़रूरी <PublicKey>
एलिमेंट का इस्तेमाल किया गया हो. साथ ही, एचएस फ़ैमिली एल्गोरिदम के साथ ज़रूरी <SecretKey>
एलिमेंट का इस्तेमाल किया गया हो.
ऊपर दिखाई गई 'पुष्टि करें' JWT नीति का ठीक करने के लिए, VerifyJWT नीति में <PublicKey>
एलिमेंट जोड़ें. इस नीति में RS256 एल्गोरिदम का इस्तेमाल किया जाता है:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidKeyConfiguration
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब पुष्टि करने के JWT नीति के <PublicKey>
या <SecretKey>
एलिमेंट में चाइल्ड एलिमेंट <Value>
या ज़रूरी चाइल्ड एलिमेंट <JWKS>
के बारे में नहीं बताया गया है.
संक्रमण की जांच
गड़बड़ी के मैसेज से, Verify JWT नीति का नाम पहचानें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT की नीति का नाम
JWT-Verify-RS256
है:Invalid Key configuration : policy(JWT-Verify-RS256).
पुष्टि नहीं हो पाने वाली JWT नीति एक्सएमएल की जांच करें और पुष्टि करें कि क्या
<PublicKey>
या<SecretKey>
एलिमेंट में चाइल्ड एलिमेंट<Value>
या चाइल्ड एलिमेंट<JWKS>
को किसी एलिमेंट के बारे में बताया नहीं गया है. अगर चाइल्ड एलिमेंट के बारे में नहीं बताया गया है, तो यह गड़बड़ी की वजह है.उदाहरण के लिए, इस नीति से पता चलता है कि चाइल्ड एलिमेंट
<Value>
या<JWKS>
,<PublicKey>
एलिमेंट में तय नहीं किया गया है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
पुष्टि करने के लिए JWT की नीति के
<PublicKey>
एलिमेंट में चाइल्ड एलिमेंट<Value>
या<JWKS>
को शामिल नहीं किया गया है. इसलिए, आपको यह गड़बड़ी मिलती है:Invalid Key configuration : policy(JWT-Verify-RS256).
रिज़ॉल्यूशन
पक्का करें कि चाइल्ड एलिमेंट <Value>
या <JWKS>
की जानकारी, पुष्टि JWT नीति के <PublicKey>
एलिमेंट में दी गई है.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, <PublicKey>
एलिमेंट में चाइल्ड एलिमेंट <Value>
या <JWKS>
एलिमेंट तय करें. इसकी जानकारी नीचे दी गई है:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</PublicJWT>
EmptyElementForKeyConfiguration
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब <PublicKey>
एलिमेंट के चाइल्ड एलिमेंट <Value>
या <JWKS>
में ref एट्रिब्यूट की वैल्यू तय नहीं की गई या खाली नहीं है.
उदाहरण के लिए, अगर <PublicKey>
एलिमेंट का चाइल्ड एलिमेंट <Value>
खाली है, तो गड़बड़ी होती है.
संक्रमण की जांच
पुष्टि करने के लिए JWT की नीति का नाम और एलिमेंट के नाम की पहचान करें, जो गड़बड़ी के मैसेज से खाली है. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और एलिमेंट का नामPublicKey/Value
है:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
पुष्टि नहीं हो पाने वाली JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि पहले चरण में पहचाना गया एलिमेंट खाली है. अगर यह खाली है, तो यह गड़बड़ी की वजह है.
उदाहरण के लिए, इस नीति से पता चलता है कि
<PublicKey>
एलिमेंट का चाइल्ड एलिमेंट<Value>
खाली है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
पुष्टि करने के लिए JWT नीति के
<PublicKey>
एलिमेंट का चाइल्ड एलिमेंट<Value>
खाली होने की वजह से, आपको यह गड़बड़ी मिलती है:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
रिज़ॉल्यूशन
पक्का करें कि <PublicKey>
एलिमेंट के चाइल्ड एलिमेंट <Value>
या <JWKS>
में ref एट्रिब्यूट की वैल्यू हमेशा दी गई हो.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, <PublicKey>
एलिमेंट के चाइल्ड एलिमेंट <Value>
में फ़्लो वैरिएबल public.publickey
का इस्तेमाल करें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidConfigurationForVerify
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब पुष्टि करने के लिए इस्तेमाल की जाने वाली नीति के <SecretKey>
एलिमेंट में, <Id>
एलिमेंट के बारे में बताया गया हो.
उदाहरण के लिए, अगर <SecretKey>
एलिमेंट में <Id>
एलिमेंट के बारे में बताया गया है, तो यह गड़बड़ी दिखती है.
संक्रमण की जांच
पुष्टि करें कि JWT नीति का नाम और गड़बड़ी के मैसेज से अमान्य एलिमेंट का नाम पता करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और एलिमेंट का नामSecretKey/Id
है:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
पुष्टि नहीं हो पाने वाली JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि पहले चरण में पहचाना गया अमान्य एलिमेंट तय किया गया है. अगर इसे तय किया गया है, तो यह गड़बड़ी की वजह है.
उदाहरण के लिए, इस नीति से पता चलता है कि
<SecretKey>
एलिमेंट का चाइल्ड एलिमेंट<Id>
तय किया गया है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <Id/> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
<Id>
एलिमेंट को पुष्टि करने के लिए बनाई गई JWT की नीति के<SecretKey>
एलिमेंट में तय किया गया है. इसलिए, आपको यह गड़बड़ी मिलती है:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
रिज़ॉल्यूशन
पक्का करें कि पुष्टि करने के लिए JWT की नीति के <SecretKey>
एलिमेंट में, <Id>
एलिमेंट को कभी भी तय नहीं किया गया है.
JWT की पुष्टि करने की नीति का उदाहरण सही करने के लिए, <SecretKey>
एलिमेंट से चाइल्ड एलिमेंट <Id>
हटाएं:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref='private.secretkey'/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidEmptyElement
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब पुष्टि करने के लिए JWT नीति का <Source>
एलिमेंट खाली होता है. अगर यह मौजूद है, तो इसे Edge फ़्लो वैरिएबल नाम से तय किया जाना चाहिए.
संक्रमण की जांच
पुष्टि करने के लिए JWT नीति का नाम और गड़बड़ी के मैसेज से खाली एलिमेंट का नाम पहचानें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
है और एलिमेंट का नामPublicKey/Value
है:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
पुष्टि नहीं हो पाने वाली JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि पहले चरण में पहचाना गया एलिमेंट खाली है. अगर यह खाली है, तो यह गड़बड़ी की वजह है.
उदाहरण के लिए, नीचे दी गई नीति से पता चलता है कि
<Source>
एलिमेंट खाली है:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
पुष्टि करने के लिए JWT नीति का
<Source>
एलिमेंट खाली होने की वजह से, आपको यह गड़बड़ी मिलती है:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
रिज़ॉल्यूशन
अगर पुष्टि की गई JWT नीति का <Source>
एलिमेंट मौजूद है, तो पक्का करें कि यह फ़्लो वैरिएबल तय करता हो.
JWT की पुष्टि करने की नीति के उदाहरण को सही करने के लिए, <Source>
एलिमेंट में मान्य फ़्लो वैरिएबल का इस्तेमाल करें:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidPublicKeyValue
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
गड़बड़ी का यह मैसेज तब दिखता है, जब <PublicKey>
एलिमेंट के चाइल्ड एलिमेंट <JWKS>
में इस्तेमाल की गई वैल्यू, आरएफ़सी 7517 में बताए गए मान्य फ़ॉर्मैट में न हो.
उदाहरण के लिए, <PublicKey>
एलिमेंट में abc
को चाइल्ड एलिमेंट <JWKS>
की वैल्यू के तौर पर इस्तेमाल करने से यह गड़बड़ी दिखेगी.
संक्रमण की जांच
पुष्टि करने के लिए JWT की नीति का नाम और गड़बड़ी के मैसेज से अमान्य वैल्यू वाले एलिमेंट के नाम की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-RS256
और एलिमेंटPublicKey/JWKS
है:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
पुष्टि नहीं हो पाने वाली JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि पहले चरण में पहचाने गए एलिमेंट में, आरएफ़सी 7517 के मुताबिक मान्य फ़ॉर्मैट की वैल्यू शामिल है. अगर एलिमेंट की वैल्यू मान्य फ़ॉर्मैट में नहीं है, तो गड़बड़ी की वजह यही है.
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>
<PublicKey>
एलिमेंट के चाइल्ड एलिमेंट<JWKS>
में दी गई वैल्यू, आरएफ़सी 7517 के मुताबिक सही फ़ॉर्मैट में नहीं है. इसलिए, आपको गड़बड़ी का यह मैसेज मिलता है:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
रिज़ॉल्यूशन
पक्का करें कि <PublicKey>
एलिमेंट के चाइल्ड एलिमेंट <JWKS>
में दी गई वैल्यू, JWKS फ़ॉर्मैट (RFC 7517) के मान्य फ़ॉर्मैट में मान्य स्ट्रिंग या फ़्लो वैरिएबल हो.
JWT की पुष्टि करने की नीति के उदाहरण को ठीक करने के लिए, <JWKS>
की वैल्यू में बदलाव करें, जैसा कि यहां दिखाया गया है:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
गड़बड़ी का मैसेज
गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
गड़बड़ी के मैसेज का उदाहरण
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
स्क्रीनशॉट का उदाहरण
Edge यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:
वजह
यह गड़बड़ी तब होती है, जब <PublicKey>
एलिमेंट का इस्तेमाल एचएस फ़ैमिली एल्गोरिदम के साथ किया जाता है और <SecretKey>
एलिमेंट का इस्तेमाल आरएसए फ़ैमिली एल्गोरिदम के साथ किया जाता है. इनमें से कोई भी स्थिति सही होने पर भी गड़बड़ी होगी.
उदाहरण के लिए, एचएस फ़ैमिली एल्गोरिदम के साथ <PublicKey>
एलिमेंट का इस्तेमाल करने पर, यह गड़बड़ी होती है.
संक्रमण की जांच
गड़बड़ी के मैसेज से, पुष्टि करने के लिए JWT नीति का नाम, एलिमेंट का नाम, और एल्गोरिदम के फ़ैमिली नाम की पहचान करें. उदाहरण के लिए, नीचे दिए गए गड़बड़ी के मैसेज में, पुष्टि की गई JWT नीति का नाम
JWT-Verify-HS256
है, एलिमेंट का नामPublicKey
है, और एल्गोरिदम फ़ैमिलीRSA
है:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
पुष्टि करें कि 'पुष्टि करें' JWT नीति का एक्सएमएल में इस्तेमाल किया गया एलिमेंट और एल्गोरिदम फ़ैमिली, एलिमेंट और पहले चरण में गड़बड़ी के मैसेज में बताए गए एल्गोरिदम फ़ैमिली से मेल खाती है. उदाहरण के लिए, यह नीति एलिमेंट को
PublicKey
के तौर पर और एल्गोरिदम फ़ैमिली कोHMAC
के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाता है<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <SecretKey> <Value ref="private.secretkey"/> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> </VerifyJWT>
अगर
<Algorithm>
एलिमेंट की वैल्यूHS256
है, लेकिन आपने<PublicKey>
का इस्तेमाल किया है, तो यह गड़बड़ी की वजह है.ऊपर दी गई 'पुष्टि करें' JWT नीति के उदाहरण में,
<PublicKey>
एलिमेंट का इस्तेमाल किया जाता है, भले ही<Algorithm>
को फ़ैमिली एल्गोरिदम HS256 पर सेट किया गया हो. इससे यह गड़बड़ी होती है:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
रिज़ॉल्यूशन
पक्का करें कि <PublicKey>
एलिमेंट का इस्तेमाल सिर्फ़ आरएसए फ़ैमिली एल्गोरिदम के साथ किया गया हो. साथ ही, <SecretKey>
एलिमेंट का इस्तेमाल सिर्फ़ एचएस फ़ैमिली एल्गोरिदम के साथ किया गया हो.
'पुष्टि करें' JWT नीति का उदाहरण ठीक करने के लिए, VerifyJWT नीति का <SecretKey>
इस्तेमाल करें. यह नीति HS256 एल्गोरिदम का इस्तेमाल करती है:
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
</VerifyJWT>