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

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

InvalidNameForAdditionalClaim

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

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

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. JWT जनरेट करने की नीति का नाम और गड़बड़ी के मैसेज से दावे के नाम की पहचान करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, JWT जनरेट करने की नीति का नाम JWT-Generate-HS256 है और दावे का नाम iss है:

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. पुष्टि करें कि JWT जनरेट करने की नीति के एक्सएमएल में, <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"

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

    ऊपर दी गई 'JWT जनरेट करें' नीति के उदाहरण में, <AdditionalClaims> एलिमेंट के तहत <Claim> नाम को 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. पुष्टि करें कि 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

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

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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. गड़बड़ी के मैसेज से, JWT जनरेट करने की नीति के नाम की पहचान करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, JWT जनरेट करने की नीति का नाम JWT-Generate-HS256 है:

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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. गड़बड़ी के मैसेज से, JWT जनरेट करने की नीति और हेडर के नाम की पहचान करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, JWT जनरेट करने की नीति का नाम JWT-Generate-HS256 और हेडर का नाम alg है:

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. पुष्टि करें कि JWT नीति एक्सएमएल जनरेट करने में गड़बड़ी के <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

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

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. पुष्टि करें कि 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

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

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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. JWT जनरेट करने की नीति का नाम और गड़बड़ी के मैसेज से दावे के नाम की पहचान करें. उदाहरण के लिए, गड़बड़ी के इस मैसेज में, JWT जनरेट करने की नीति का नाम JWT-Generate-HS256 है और दावे का नाम claim: है

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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> एलिमेंट का इस्तेमाल एचएस फ़ैमिली एल्गोरिदम के साथ और <SecretKey> एलिमेंट का इस्तेमाल आरएसए फ़ैमिली एल्गोरिदम के साथ किया जाता है. गड़बड़ी तब भी होगी, जब इनमें से कोई भी स्थिति सही हो.

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

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

  1. गड़बड़ी के मैसेज से, जेडब्लयूटी जनरेट करने की नीति का नाम, एलिमेंट का नाम, और एल्गोरिदम के फ़ैमिली नाम की पहचान करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, 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. पुष्टि करें कि '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> का इस्तेमाल किया है, तो यही गड़बड़ी है.

    ऊपर दी गई 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> एलिमेंट का इस्तेमाल सिर्फ़ एचएस फ़ैमिली एल्गोरिदम के साथ किया जाए.

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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. JWT जनरेट करने की नीति के नाम और गड़बड़ी के मैसेज में मौजूद एलिमेंट के नाम की पहचान करें. उदाहरण के लिए, यहां दिए गए गड़बड़ी के मैसेज में, JWT जनरेट करने की नीति का नाम JWT-Generate-HS256 और एलिमेंट का नाम Algorithm. है

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. जेडब्लयूटी जनरेट करने की नीति के एक्सएमएल की जांच नहीं करें और <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

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

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

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

रिज़ॉल्यूशन

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

HS256, HS384, HS512, RS256, RS384, और RS512

ऊपर दी गई JWT जनरेट करने की नीति के उदाहरण को ठीक करने के लिए, <Algorithm> की वैल्यू को HS25 में बदलें. इस नीति में <SecretKey> एलिमेंट का इस्तेमाल किया जाता है. ध्यान दें, जब <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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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 यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी के साथ एक डायलॉग बॉक्स दिखेगा:

वजह

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

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

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

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

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. विफल 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>
    

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई, 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

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

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

स्क्रीनशॉट का उदाहरण

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

वजह

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

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

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

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. जेडब्लयूटी जनरेट करने की नीति के एक्सएमएल की जांच नहीं कर सके और पुष्टि करें कि <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>
    

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

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

रिज़ॉल्यूशन

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

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

<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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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. JWT जनरेट करने की नीति के नाम और गड़बड़ी के मैसेज में मौजूद खाली एलिमेंट के नाम की पहचान करें. उदाहरण के लिए, गड़बड़ी के इस मैसेज में, JWT जनरेट करने की नीति का नाम JWT-Generate-HS256 है और खाली एलिमेंट का नाम SecretKey/Value है.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. 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>
    

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई, 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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> के रेफ़रंस एट्रिब्यूट में फ़्लो वैरिएबल का नाम mykey के तौर पर दिया गया है, तो यह गड़बड़ी दिखती है.

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

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

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. 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>
    

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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>

का इस्तेमाल करें.

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

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

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

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

    उदाहरण के लिए, इस नीति से पता चलता है कि <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>
    

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

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

रिज़ॉल्यूशन

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

ऊपर दी गई 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 मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. 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>
    

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

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

रिज़ॉल्यूशन

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

sortable, RFC 1123, RFC 850, ANCI-C

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>