जेडब्लयूटी नीति डिप्लॉयमेंट से जुड़ी गड़बड़ी की समस्या हल करना

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

पर क्लिक करें.

InvalidNameForAdditionalClaim

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Invalid name for additional claim : policy(policy_name) claim(claim_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किए गए दावे का नाम, रजिस्टर किए गए इन नामों में से कोई एक हो:

"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

रजिस्टर्ड किए गए दावों के बारे में RFC7519 में बताया गया है.

उदाहरण के लिए, <AdditionalClaims> एलिमेंट में iss का इस्तेमाल करने पर यह गड़बड़ी दिखेगी.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और दावे का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 और दावे का नाम iss है:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. पुष्टि करें कि JWT जनरेट करने की नीति के लिए इस्तेमाल की गई XML फ़ाइल में <AdditionalClaims> एलिमेंट के तहत इस्तेमाल किया गया दावा, गड़बड़ी के मैसेज में बताए गए दावे के नाम से मेल खाता हो. गड़बड़ी का मैसेज ऊपर दिए गए पहले चरण में बताया गया है. उदाहरण के लिए, यहां दी गई नीति में दावे को iss के तौर पर बताया गया है. यह गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाता है:

    <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="iss"/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. अगर <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किया गया दावा करने वाले का नाम, रजिस्टर किए गए इन नामों में से कोई एक है:

    "kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"

    तो यह गड़बड़ी की वजह है.

    ऊपर दिए गए Generate JWT नीति के उदाहरण में, <Claim> नाम को <AdditionalClaims> एलिमेंट के तहत iss के तौर पर तय किया गया है. इससे यह गड़बड़ी होती है:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    

रिज़ॉल्यूशन

<AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim>में, रजिस्टर किए गए नामों "kid", "iss", "sub", "aud", "iat", "exp", "nbf" या "jti" में से किसी का भी इस्तेमाल न करें.

ऊपर दिए गए, JWT जनरेट करने की नीति के उदाहरण को ठीक करने के लिए, दावे का नाम बदलकर status करें:

<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='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

InvalidTypeForAdditionalClaim

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
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-Generate-HS256) claim(claim) type(integer).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब GenerateJWT नीति के <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किया गया दावा, इनमें से कोई एक नहीं होता:

string (डिफ़ॉल्ट), number, boolean या map

उदाहरण के लिए, <AdditionalClaims> एलिमेंट में integer दावे का टाइप का इस्तेमाल करने पर गड़बड़ी होगी.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम, दावे का नाम, और दावे का टाइप पता करें. उदाहरण के लिए, इस गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है, दावे का नाम claim है, और दावे का टाइप integer है:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. पुष्टि करें कि Generate JWT नीति के एक्सएमएल में <AdditionalClaims> एलिमेंट के तहत इस्तेमाल किया गया दावा करने वाले का नाम और टाइप, पहले चरण में गड़बड़ी के मैसेज में बताए गए दावा करने वाले के नाम और टाइप से मेल खाता हो. उदाहरण के लिए, यहां दी गई नीति में, दावे को claim और टाइप को integer के तौर पर बताया गया है. यह गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाता है:

    <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='claim' ref='reqclaim' type='integer'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. अगर <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किया गया दावे का टाइप, इनमें से किसी टाइप का नहीं है:

    string (डिफ़ॉल्ट), number, boolean या map

    तो यह गड़बड़ी की वजह है.

    ऊपर दिए गए Generate JWT नीति के उदाहरण में, <AdditionalClaims> एलिमेंट के तहत <Claim> टाइप को integer के तौर पर तय किया गया है. integer एक मान्य टाइप नहीं है. इसलिए, आपको यह गड़बड़ी का मैसेज मिलता है:

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

रिज़ॉल्यूशन

पक्का करें कि <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में, सिर्फ़ string, number, boolean या map जैसे काम करने वाले डेटा टाइप इस्तेमाल किए गए हों.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, दावे के टाइप को boolean में बदलें.

<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='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

MissingNameForAdditionalClaim

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
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-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <AdditionalClaims> या <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में दावे का नाम नहीं दिया जाता है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. Generate JWT नीति के लिए, फ़ेल हुई XML की जांच करें. साथ ही, यह पुष्टि करें कि <AdditionalClaims> या <AdditionalHeaders> एलिमेंट के <Claims> चाइल्ड एलिमेंट में दावा करने वाले का नाम मौजूद नहीं है. उदाहरण के लिए, यहां दी गई Generate JWT नीति में, <AdditionalClaims> एलिमेंट के तहत दावे का नाम नहीं बताया गया है:

    <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 ref='reqclaim' type='boolean'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    <Claim> नाम को <AdditionalClaims> एलिमेंट के तहत नहीं बताया गया है. इसलिए, आपको यह गड़बड़ी दिखती है:

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    

रिज़ॉल्यूशन

पक्का करें कि दावे का नाम हमेशा <AdditionalClaims> या <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में दिया गया हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, दावे का नाम इस तरह तय करें:

<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='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

InvalidNameForAdditionalHeader

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Invalid name for additional header : policy(policy_name)header(header_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <AdditionalHeaders> एलिमेंट के <Claim> चाइल्ड एलिमेंट में इस्तेमाल किए गए दावे का नाम, यहां दिए गए स्टैंडर्ड JWT हेडर में से कोई एक हो:

alg या typ

उदाहरण के लिए, <AdditionalHeaders> एलिमेंट में alg का इस्तेमाल करने पर गड़बड़ी होगी.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति और हेडर के नाम का पता लगाएं. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 और हेडर का नाम alg है:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. पुष्टि करें कि Generate JWT नीति के लिए बनाई गई XML फ़ाइल में, <AdditionalHeaders> एलिमेंट के <Claim> चाइल्ड एलिमेंट में इस्तेमाल किया गया हेडर का नाम, पहले चरण में गड़बड़ी के मैसेज में बताए गए हेडर के नाम से मेल खाता हो. उदाहरण के लिए, यहां दी गई नीति में हेडर को alg के तौर पर तय किया गया है. यह गड़बड़ी के मैसेज में मौजूद हेडर से मेल खाता है:

    <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/>
        <AdditionalHeaders>
            <Claim name="alg"/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. अगर <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किया गया हेडर का नाम, यहां दिए गए स्टैंडर्ड JWT हेडर में से कोई एक है:

    alg या typ

    तो यह गड़बड़ी की वजह है.

    ऊपर दिए गए Generate JWT नीति के उदाहरण में, <Claim> नाम को <AdditionalClaims> एलिमेंट के तहत alg के तौर पर तय किया गया है. इससे यह गड़बड़ी होती है:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    

रिज़ॉल्यूशन

<AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में, स्टैंडर्ड JWT हेडर alg या typ का इस्तेमाल न करें.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में x5c नाम का इस्तेमाल करें:

<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/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTypeForAdditionalHeader

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
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-Generate-HS256) claim(claim1) type(integer).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब GenerateJWT नीति के <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किया गया दावा, इनमें से कोई एक टाइप न हो:

string (डिफ़ॉल्ट), number, boolean या map.

उदाहरण के लिए, <AdditionalHeaders> एलिमेंट में integer दावा टाइप का इस्तेमाल करने पर गड़बड़ी होगी.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम, दावे का नाम, और दावे का टाइप पता करें. उदाहरण के लिए, इस गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है, दावे का नाम claim, है, और दावे का टाइप integer: है

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. पुष्टि करें कि Generate JWT नीति के एक्सएमएल में <AdditionalClaims> एलिमेंट के तहत इस्तेमाल किया गया दावा करने वाले का नाम और दावे का टाइप, पहले चरण में गड़बड़ी के मैसेज में बताए गए दावे के नाम और दावे के टाइप से मेल खाता हो. उदाहरण के लिए, यहां दी गई नीति में, दावे को claim और दावे के टाइप को integer के तौर पर बताया गया है. यह गड़बड़ी के मैसेज में दी गई जानकारी से मेल खाता है:

    <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/>
        <AdditionalHeaders>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. अगर <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में इस्तेमाल किया गया दावे का टाइप, इनमें से किसी टाइप का नहीं है:

    string (डिफ़ॉल्ट), number, boolean या map

    तो यह गड़बड़ी की वजह है.

    ऊपर दिए गए Generate JWT नीति के उदाहरण में, <AdditionalHeaders> एलिमेंट के तहत <Claim> टाइप को integer के तौर पर तय किया गया है. integer एक मान्य टाइप नहीं है. इसलिए, आपको यह गड़बड़ी का मैसेज मिलता है:

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

रिज़ॉल्यूशन

पक्का करें कि <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में, सिर्फ़ string, number, boolean या map जैसे काम करने वाले डेटा टाइप का इस्तेमाल किया गया हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, दावे के टाइप को boolean में बदलें:

<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/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueOfArrayAttribute

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Invalid value for array attribute: policy(policy_name)claim(claim_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <AdditionalClaims> या <AdditionalHeaders> एलिमेंट के चाइल्ड एलिमेंट <Claim> में मौजूद ऐरे एट्रिब्यूट की वैल्यू, true या false पर सेट न हो.

उदाहरण के लिए, <AdditionalClaims> या <AdditionalHeaders> के चाइल्ड एलिमेंट <Claim> में, ऐरे एट्रिब्यूट की वैल्यू को yes के तौर पर सेट करने से गड़बड़ी होती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और दावे का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और दावे का नाम claim: है

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. पुष्टि करें कि Generate JWT नीति के XML में मौजूद <Claim> एलिमेंट के <AdditionalHeaders> चाइल्ड एलिमेंट में इस्तेमाल किया गया दावा, पहले चरण में गड़बड़ी के मैसेज में पहचाने गए दावे के नाम से मेल खाता हो. उदाहरण के लिए, यहां दी गई नीति में दावे का नाम claim के तौर पर बताया गया है. यह नाम, गड़बड़ी के मैसेज में दिए गए नाम से मेल खाता है:

    <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='claim' ref='reqclaim' type='string' array='yes'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. अगर <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में मौजूद array एट्रिब्यूट की वैल्यू true या false पर सेट नहीं है, तो यह गड़बड़ी की वजह है.

    ऊपर दिए गए उदाहरण में, <AdditionalClaims> एलिमेंट के चाइल्ड एलिमेंट <Claim> में मौजूद array एट्रिब्यूट की वैल्यू yes पर सेट है. इसलिए, आपको यह गड़बड़ी दिखती है:

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    

रिज़ॉल्यूशन

पक्का करें कि <AdditionalClaims> या <AdditionalHeaders> के चाइल्ड एलिमेंट <Claim> में मौजूद ऐरे एट्रिब्यूट की वैल्यू, true या false पर सेट हो.

ऊपर दिखाए गए Generate JWT नीति के उदाहरण को ठीक करने के लिए, ऐरे एट्रिब्यूट की वैल्यू को true में बदलें:

<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/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidConfigurationForActionAndAlgorithm

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
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 2
Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <PrivateKey> एलिमेंट का इस्तेमाल HS फ़ैमिली एल्गोरिदम के साथ किया जाता है और <SecretKey> एलिमेंट का इस्तेमाल आरएसए फ़ैमिली एल्गोरिदम के साथ किया जाता है. इनमें से कोई भी शर्त पूरी होने पर भी गड़बड़ी होगी.

उदाहरण के लिए, एचएस फ़ैमिली एल्गोरिदम के साथ <PrivateKey> एलिमेंट का इस्तेमाल करने पर यह गड़बड़ी दिखती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम, एलिमेंट का नाम, और एल्गोरिदम फ़ैमिली का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256, एलिमेंट का नाम PrivateKey, और एल्गोरिदम फ़ैमिली का नाम HMAC है:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. पुष्टि करें कि Generate JWT नीति के एक्सएमएल में इस्तेमाल किया गया एलिमेंट और एल्गोरिदम फ़ैमिली, पहले चरण में गड़बड़ी के मैसेज में बताए गए एलिमेंट और एल्गोरिदम फ़ैमिली से मेल खाती हो. उदाहरण के लिए, यहां दी गई नीति में एलिमेंट को PrivateKey और एल्गोरिदम फ़ैमिली को HMAC के तौर पर बताया गया है. यह जानकारी, गड़बड़ी के मैसेज में दी गई जानकारी से मेल खाती है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <PrivateKey>
            <Password ref="private.privatekey-password"/>
    
        </PrivateKey>
            <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=tuu
        =/>
            </AdditionalClaims>
        </GenerateJWT>
    
  3. अगर <Algorithm> एलिमेंट की वैल्यू HS256 है, लेकिन आपने <PrivateKey> का इस्तेमाल किया है, तो यह गड़बड़ी की वजह है.

    ऊपर दिखाई गई Generate JWT नीति के उदाहरण में, <PrivateKey> का इस्तेमाल किया गया है. भले ही, <PrivateKey> को फ़ैमिली एल्गोरिदम HS256 पर सेट किया गया हो. इससे यह गड़बड़ी होती है:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    

रिज़ॉल्यूशन

पक्का करें कि <PrivateKey> एलिमेंट का इस्तेमाल सिर्फ़ आरएसए फ़ैमिली एल्गोरिदम के साथ किया गया हो और <SecretKey> एलिमेंट का इस्तेमाल सिर्फ़ एचएस फ़ैमिली एल्गोरिदम के साथ किया गया हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, GenerateJWT नीति से <SecretKey> का इस्तेमाल करें. यह नीति HS256 एल्गोरिदम का इस्तेमाल करती है:

<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/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueForElement

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Invalid Value for element : policy(policy_name) element(element_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

अगर <Algorithm> एलिमेंट में दी गई वैल्यू, इनमें से कोई वैल्यू नहीं है, तो यह गड़बड़ी दिखती है:

HS256, HS384, HS512, RS256, RS384, RS512

उदाहरण के लिए, <Algorithm> एलिमेंट में एल्गोरिदम की वैल्यू को RS128 के तौर पर तय करने से यह गड़बड़ी होती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और एलिमेंट का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और एलिमेंट का नाम Algorithm. है

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. Generate JWT नीति के लिए इस्तेमाल किए गए एक्सएमएल की जांच करें. साथ ही, <Algorithm> एलिमेंट के लिए दी गई वैल्यू देखें.

    यहां JWT जनरेट करने की नीति का एक उदाहरण दिया गया है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS128</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>
    </GenerateJWT>
    
  3. <Algorithm> एलिमेंट में दी गई वैल्यू की जांच करें. अगर यह इनमें से कोई वैल्यू नहीं है:

    HS256, HS384, HS512, RS256, RS384, RS512

    तो यह गड़बड़ी की वजह है.

    ऊपर दिए गए Generate JWT नीति के उदाहरण में, <Algorithm> का नाम HS128 के तौर पर बताया गया है. यह एल्गोरिदम काम नहीं करता है. इसलिए, आपको यह गड़बड़ी का मैसेज मिलता है:

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    

रिज़ॉल्यूशन

पक्का करें कि <Algorithm> एलिमेंट में दी गई वैल्यू, इस्तेमाल की जा सकने वाली वैल्यू में से एक हो:

HS256, HS384, HS512, RS256, RS384, RS512

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, <SecretKey> एलिमेंट का इस्तेमाल किया गया है. इसके लिए, <Algorithm> की वैल्यू को HS25 में बदलें. ध्यान दें कि <SecretKey> एलिमेंट का इस्तेमाल करने पर, सिर्फ़ एचएस फ़ैमिली एल्गोरिदम का इस्तेमाल किया जा सकता है.

<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='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

MissingConfigurationElement

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Missing configuration element : policy(policy_name) element(element_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब Generate JWT नीति में RSA फ़ैमिली के एल्गोरिदम के साथ <PrivateKey> एलिमेंट का इस्तेमाल नहीं किया जाता है. इसी तरह, अगर Generate JWT नीति में HS फ़ैमिली एल्गोरिदम के साथ <SecretKey> एलिमेंट का इस्तेमाल नहीं किया जाता है, तो यह गड़बड़ी हो सकती है.

उदाहरण के लिए, आरएसए फ़ैमिली एल्गोरिदम के साथ <PrivateKey> एलिमेंट का इस्तेमाल न करने पर यह गड़बड़ी दिखती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और मौजूद न होने वाले एलिमेंट का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और मौजूद नहीं है एलिमेंट का नाम SecretKey है.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. Generate JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि गड़बड़ी के मैसेज में बताया गया एलिमेंट मौजूद नहीं है. अगर यह मौजूद नहीं है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, यहां दी गई नीति में SecretKey मौजूद नहीं है और इस्तेमाल किया गया Algorithm, HS256 है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</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>
    </GenerateJWT>
    

    Generate JWT नीति के इस उदाहरण में, HS फ़ैमिली के एल्गोरिदम का इस्तेमाल किया गया है. हालांकि, इसमें ज़रूरी एलिमेंट SecretKey मौजूद नहीं है. इसलिए, यह गड़बड़ी हुई है:

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    

रिज़ॉल्यूशन

पक्का करें कि ज़रूरी <PrivateKey> एलिमेंट का इस्तेमाल, आरएसए फ़ैमिली एल्गोरिदम के साथ किया गया हो. साथ ही, ज़रूरी <SecretKey> एलिमेंट का इस्तेमाल, एचएस फ़ैमिली एल्गोरिदम के साथ किया गया हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, Generate JWT नीति में <SecretKey> एलिमेंट जोड़ें. इस उदाहरण में HS256 एल्गोरिदम का इस्तेमाल किया गया है:

<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/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 
Invalid Key configuration : policy(policy_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब Generate JWT नीति में <PrivateKey> या <SecretKey> एलिमेंट में ज़रूरी चाइल्ड एलिमेंट <Value> को तय नहीं किया जाता है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. Generate JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि <PrivateKey> या <SecretKey> एलिमेंट में चाइल्ड एलिमेंट <Value> को परिभाषित नहीं किया गया है. अगर <Value> को तय नहीं किया गया है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, यहां दी गई नीति में <SecretKey> एलिमेंट में चाइल्ड एलिमेंट <Value> को तय नहीं किया गया है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
        </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>
    </GenerateJWT>
    

    Generate JWT नीति के <SecretKey> एलिमेंट में चाइल्ड एलिमेंट <Value> को तय नहीं किया गया है. इसलिए, आपको यह गड़बड़ी मिलती है:

    Invalid Key configuration : policy(JWT-Generate-HS256).
    

रिज़ॉल्यूशन

पक्का करें कि चाइल्ड एलिमेंट <Value> को हमेशा Generate JWT नीति के <PrivateKey> या <SecretKey> एलिमेंट में तय किया गया हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, <SecretKey> एलिमेंट के नीचे <Value> चाइल्ड एलिमेंट को इस तरह से तय करें:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</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>
</GenerateJWT>

EmptyElementForKeyConfiguration

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Empty Element for Key Configuration : policy(policy_name) element(element_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <PrivateKey> या <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में ref एट्रिब्यूट की वैल्यू नहीं दी गई हो या वह खाली हो.

उदाहरण के लिए, अगर <SecretKey> एलिमेंट का चाइल्ड एलिमेंट <Value> खाली है, तो गड़बड़ी होती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और खाली एलिमेंट का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और खाली एलिमेंट का नाम SecretKey/Value है.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Generate JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि पहले चरण में पहचाना गया एलिमेंट खाली है. अगर यह खाली है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, इस नीति से पता चलता है कि <SecretKey> एलिमेंट का चाइल्ड एलिमेंट <Value> खाली है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value/>
            <Id>1918290</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>
    </GenerateJWT>
    

    Generate JWT नीति में <SecretKey> एलिमेंट का चाइल्ड एलिमेंट <Value> खाली है. इसलिए, आपको यह गड़बड़ी दिखती है:

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

रिज़ॉल्यूशन

पक्का करें कि <PrivateKey> या <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में ref एट्रिब्यूट की वैल्यू हमेशा दी गई हो और उसमें "private." प्रीफ़िक्स मौजूद हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में फ़्लो वैरिएबल private.privatekey का इस्तेमाल करें.

<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/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidVariableNameForSecret

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Invalid variable name for secret : policy(policy_name) element(element_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <PrivateKey> या <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में मौजूद ref एट्रिब्यूट में तय किए गए फ़्लो वैरिएबल के नाम में, निजी प्रीफ़िक्स (private.) शामिल न हो.

उदाहरण के लिए :

अगर फ़्लो वैरिएबल का नाम, <PrivateKey> एलिमेंट के चाइल्ड एलिमेंट <Value> के ref एट्रिब्यूट में mykey के तौर पर दिया गया है, तो यह गड़बड़ी होती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति और अमान्य वैरिएबल नाम वाले एलिमेंट का नाम पता करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और एलिमेंट का नाम SecretKey/Value है.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Generate JWT नीति के एक्सएमएल की जांच करें और पहले चरण में पहचाने गए एलिमेंट में इस्तेमाल किए गए वैरिएबल के नाम की पुष्टि करें. अगर वैरिएबल के नाम में private. प्रीफ़िक्स नहीं है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, यहां दी गई नीति से पता चलता है कि <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> का वैरिएबल नाम mykey अमान्य है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value ref="mykey"/>
            <Id>1918290</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>
    </GenerateJWT>
    

    Generate JWT नीति के <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में बताए गए वैरिएबल के नाम में private. प्रीफ़िक्स नहीं है. इसलिए, आपको यह गड़बड़ी दिखती है:

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

रिज़ॉल्यूशन

पक्का करें कि <PrivateKey> या <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में ref एट्रिब्यूट की वैल्यू हमेशा दी गई हो और उसमें private. प्रीफ़िक्स मौजूद हो.

ऊपर दिखाई गई Generate JWT नीति के उदाहरण को ठीक करने के लिए, <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में फ़्लो वैरिएबल private.privatekey का इस्तेमाल करें:

<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/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidSecretInConfig

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब वैल्यू (सीक्रेट) को साफ़ तौर पर इनमें बताया गया हो:

  • <PrivateKey> एलिमेंट के चाइल्ड एलिमेंट <Value> या <Password> या
  • <SecretKey> एलिमेंट का चाइल्ड एलिमेंट <Value>

में मौजूद Generate JWT नीति में.

उदाहरण के लिए, अगर सीक्रेट को <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में abc के तौर पर साफ़ तौर पर बताया गया है, तो यह गड़बड़ी होती है.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और एलिमेंट का नाम पता करें. इस एलिमेंट में सीक्रेट साफ़ तौर पर बताया गया है. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और एलिमेंट का नाम SecretKey/Value है.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. Generate JWT नीति के एक्सएमएल की जांच करें और पुष्टि करें कि पहले चरण में पहचाने गए एलिमेंट में सीक्रेट साफ़ तौर पर बताया गया है या नहीं. अगर इसे साफ़ तौर पर बताया गया है, तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, इस नीति में दिखाया गया है कि सीक्रेट को <SecretKey>एलिमेंट के चाइल्ड एलिमेंट <Value> में साफ़ तौर पर बताया गया है:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value>abc</Value>
            <Id>1918290</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>
    </GenerateJWT>
    

    Generate JWT नीति के <SecretKey> एलिमेंट के चाइल्ड एलिमेंट <Value> में सीक्रेट को साफ़ तौर पर बताया गया है. इसलिए, आपको यह गड़बड़ी दिखती है:

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

रिज़ॉल्यूशन

पक्का करें कि वैल्यू को हमेशा चाइल्ड एलिमेंट <Value> में फ़्लो वैरिएबल के तौर पर बताया गया हो. यह <PrivateKey> या <SecretKey> एलिमेंट का हिस्सा होता है.

ऊपर दिखाए गए Generate JWT नीति के उदाहरण को ठीक करने के लिए, <SecretKey> के चाइल्ड एलिमेंट <Value> के ref एट्रिब्यूट में फ़्लो वैरिएबल private.secretkey का इस्तेमाल करें:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <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>
</GenerateJWT>

InvalidTimeFormat

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision 2
Invalid Time format: policy(policy_name) element(element_name).

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).

उदाहरण के लिए स्क्रीनशॉट

Edge के यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

यह गड़बड़ी तब होती है, जब <NotBefore> एलिमेंट में दी गई वैल्यू, इन फ़ॉर्मैट में से किसी एक में न हो:

sortable, RFC 1123, RFC 850, ANCI-C

उदाहरण के लिए, अगर <NotBefore> में दी गई वैल्यू 20-JUN-1990 08:03 है, जो कि इस्तेमाल किया जा सकने वाला फ़ॉर्मैट नहीं है, तो यह गड़बड़ी दिखती है.

<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, Generate JWT नीति का नाम और उस एलिमेंट का नाम पता करें जिसमें समय का अमान्य फ़ॉर्मैट है. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, Generate JWT नीति का नाम JWT-Generate-HS256 है और एलिमेंट का नाम NotBefore है.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. Generate JWT नीति के लिए इस्तेमाल की गई उस एक्सएमएल फ़ाइल की जांच करें जिसमें गड़बड़ी हुई है. साथ ही, पहले चरण में पहचाने गए एलिमेंट में इस्तेमाल किए गए समय के फ़ॉर्मैट की पुष्टि करें. अगर एलिमेंट में, काम करने वाले किसी भी फ़ॉर्मैट का इस्तेमाल नहीं किया गया है, तो:

    sortable, RFC 1123, RFC 850, ANCI-C

    तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां दी गई नीति में बताया गया है कि चाइल्ड एलिमेंट <NotBefore> में, समय के ऐसे फ़ॉर्मैट का इस्तेमाल किया गया है जो काम नहीं करता:

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</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>
    </GenerateJWT>
    

    Generate JWT नीति के <NotBefore> एलिमेंट में, समय के किसी भी फ़ॉर्मैट का इस्तेमाल नहीं किया गया है. इसलिए, आपको यह गड़बड़ी दिखती है:

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

रिज़ॉल्यूशन

पक्का करें कि <NotBefore> एलिमेंट में दी गई वैल्यू, इन फ़ॉर्मैट में से किसी एक में हो:

sortable, RFC 1123, RFC 850, ANCI-C

Generate JWT नीति के उदाहरण को ठीक करने के लिए, <NotBefore> एलिमेंट में तारीख को बदलकर sortable फ़ॉर्मैट का इस्तेमाल करें. ऐसा नीचे दिखाया गया है:

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <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>
</GenerateJWT>