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

आपको 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).
    

रिज़ॉल्यूशन

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

ऊपर दिखाई गई उदाहरण के तौर पर 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

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

    ऊपर दिखाई गई, JWT जनरेट करने की नीति के उदाहरण में, <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> में दावे का नाम मौजूद नहीं है या नहीं. उदाहरण के लिए, नीचे दी गई 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>
    

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

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

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

    ऊपर दिखाई गई, JWT जनरेट करने की नीति के उदाहरण में, <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 नीति एक्सएमएल में, चाइल्ड एलिमेंट <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 पर सेट हो.

ऊपर दिखाई गई '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 जनरेट करने की नीति का नाम 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. जनरेट नहीं हुई 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

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

    ऊपर दिखाई गई '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> एलिमेंट का इस्तेमाल नहीं किया जाता. इसी तरह, अगर जेडब्लयूटी से जुड़ी नीति में <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>
    

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

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

रिज़ॉल्यूशन

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

ऊपर दिखाई गई 'JWT जनरेट करें' नीति का उदाहरण ठीक करने के लिए, जो HS256 एल्गोरिदम का इस्तेमाल करती है उसे ठीक करने के लिए, JWT जनरेट करने की नीति में <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/>
    <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 यूज़र इंटरफ़ेस (यूआई) में, आपको गड़बड़ी वाला एक डायलॉग बॉक्स दिखेगा:

वजह

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

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

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

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. जनरेट नहीं हुई 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>
    

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

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

रिज़ॉल्यूशन

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

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

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

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

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

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

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

    उदाहरण के लिए, नीचे दी गई नीति में बताया गया है कि <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> के रेफ़रंस एट्रिब्यूट में फ़्लो वैरिएबल 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>