VerifyJWT নীতি প্রয়োগ সংক্রান্ত সমস্যার সমাধান করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

InvalidNameForAdditionalClaim

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

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

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবিটির নাম নিম্নলিখিত রেজিস্টার করা নামের মধ্যে একটি হলে এই সমস্যাটি হয়:

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

RFC7519-এ রেজিস্টার করা দাবি নির্দিষ্ট করা আছে।

যেমন, <AdditionalClaims> এলিমেন্টের মধ্যে iss দাবি সংক্রান্ত নাম ব্যবহার করলে এই সমস্যাটি হবে।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে JWT নীতি যাচাই করার নাম ও দাবি করার নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং দাবি সংক্রান্ত নাম হল iss:

    Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
    
  2. যাচাই করুন যে JWT নীতি XML যাচাই করার সময় <AdditionalClaims> এলিমেন্টের অধীনে ব্যবহৃত দাবিটির নাম, ধাপ ১-এ সমস্যার মেসেজে শনাক্ত করা দাবিটির নামের সাথে মিলছে কিনা। যেমন, নিম্নলিখিত নীতিতে দাবিকে iss হিসেবে উল্লেখ করা হয়েছে, যা সমস্যার মেসেজের সাথে মিলে যায়:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name="iss"/>
        </AdditionalClaims>
    </VerifyJWT>
    
  3. <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবির নাম নিম্নলিখিত রেজিস্টার করা নামের মধ্যে একটি হলে:

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

    তাহলে এটিই হল সমস্যার কারণ।

    উপরে দেখানো Verify JWT নীতিতে, <AdditionalClaims> এলিমেন্টের মধ্যে <Claim> নাম iss হিসেবে নির্দিষ্ট করা হয়েছে, যার ফলে এই সমস্যা হয়েছে:

    Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
    

রেজোলিউশন

<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ "kid", "iss", "sub", "aud", "iat", "exp", "nbf" বা "jti"-এর মতো কোনও রেজিস্টার করা নাম ব্যবহার করবেন না।

Verify JWT নীতি সংক্রান্ত উদাহরণে থাকা সমস্যা সমাধান করতে, দাবি করা নাম পরিবর্তন করে status করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</VerifyJWT>

InvalidTypeForAdditionalClaim

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

VerifyJWT নীতির <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবির ধরনটি নিম্নলিখিত ধরনগুলির মধ্যে একটি নয়:

string (ডিফল্ট), number, boolean অথবা map

যেমন, <AdditionalClaims> এলিমেন্টের মধ্যে integer দাবি সংক্রান্ত ধরন ব্যবহার করলে সমস্যা হবে।

ডায়াগনসিস

  1. সমস্যা সংক্রান্ত মেসেজ থেকে যাচাই JWT নীতির নাম, দাবি ও ধরন শনাক্ত করুন। যেমন, নিচে দেখানো সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256, দাবি করা নামের নাম হল claim এবং ধরন হল integer:

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. যাচাই করে দেখুন যে JWT যাচাইকরণ সংক্রান্ত নীতি XML-এ <AdditionalClaims> এলিমেন্টের অধীনে ব্যবহৃত দাবি ও তার ধরন এবং ধাপ ১-এ সমস্যার মেসেজে শনাক্ত করা দাবি ও তার ধরন একই কিনা। যেমন, নিম্নলিখিত নীতিতে দাবিকে claim এবং ধরনকে integer হিসেবে নির্দিষ্ট করা হয়েছে, যা সমস্যার মেসেজে দেখানো তথ্যের সাথে মিলে যায়:

    <VerifyJWT name="JWT-Verify-RS256">
      <DisplayName>JWT Verify RS256</DisplayName>
      <Algorithm>RS256</Algorithm>
     <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <SecretKey>
          <Value ref="private.secretkey"/>
          <Id>1918290</Id>
      </SecretKey>
      <ExpiresIn>1h</ExpiresIn>
      <Subject>monty-pythons-flying-circus</Subject>
      <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
      <Audience>fans</Audience>
      <Id/>
      <AdditionalClaims>
          <Claim name='claim' ref='reqclaim' type='integer'/>
      </AdditionalClaims>
    </VerifyJWT>
    
  3. <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবির ধরন নিম্নলিখিত ধরনগুলির মধ্যে একটি না হলে:

    string (ডিফল্ট), number, boolean অথবা map

    তাহলে এটিই হল সমস্যার কারণ।

    উপরে দেখানো JWT নীতি যাচাই করার উদাহরণে, <AdditionalClaims> এলিমেন্টের অধীনে <Claim> ধরনকে integer হিসেবে নির্দিষ্ট করা হয়েছে। integer কাজ করে এমন ধরন না হওয়ায়, আপনি এই সমস্যাটি দেখতে পাবেন:

    Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
    

রেজোলিউশন

<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ শুধুমাত্র কাজ করে এমন ডেটা টাইপ string (ডিফল্ট), number, boolean বা map ব্যবহার করা হয়েছে কিনা তা নিশ্চিত করুন।

JWT নীতি যাচাইকরণের উদাহরণটি সংশোধন করতে, দাবি করার ধরনটি পরিবর্তন করে boolean করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</VerifyJWT>

MissingNameForAdditionalClaim

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<AdditionalClaims> বা <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ দাবির নাম উল্লেখ করা না থাকলে এই সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতির নাম শনাক্ত করুন। যেমন, নিচে দেখানো সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256:

    Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. JWT যাচাইকরণ সংক্রান্ত সমস্যার XML পরীক্ষা করুন এবং যাচাই করুন যে <AdditionalClaims> বা <AdditionalHeaders> এলিমেন্টের অধীনে চাইল্ড এলিমেন্টে <Claims> দাবি সংক্রান্ত নাম নেই। যেমন, নিম্নলিখিত Verify JWT নীতিতে <AdditionalClaims> এলিমেন্টের অধীনে দাবি করা নামের উল্লেখ করা নেই:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim ref='reqclaim' type='boolean'/>
        </AdditionalClaims>
    </VerifyJWT>
    

    <AdditionalClaims> এলিমেন্টের অধীনে <Claim> নাম উল্লেখ করা না থাকার কারণে আপনি এই সমস্যাটি পেয়েছেন:

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

রেজোলিউশন

<AdditionalClaims> বা <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ যেন সবসময় দাবির নাম উল্লেখ করা থাকে তা নিশ্চিত করুন।

JWT যাচাইকরণ নীতির উদাহরণ ঠিক করতে, নিচে দেখানো দাবিটির নাম উল্লেখ করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</VerifyJWT>

InvalidNameForAdditionalHeader

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

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

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ ব্যবহৃত দাবিটির নাম নিম্নলিখিত স্ট্যান্ডার্ড JWT হেডারগুলির মধ্যে একটি হলে এই সমস্যাটি হয়:

alg বা typ

যেমন, <AdditionalHeaders> এলিমেন্টের মধ্যে alg দাবি নাম ব্যবহার করলে সমস্যা হবে।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে যাচাই JWT নীতির নাম ও হেডার নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং হেডার নাম হল alg:

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    
  2. যাচাই করুন যে JWT নীতি XML যাচাই করার সময় সমস্যা হলে, <AdditionalHeaders> এলিমেন্টের মধ্যে <Claim> চাইল্ড এলিমেন্টে ব্যবহৃত হেডার নামের সাথে ধাপ ১-এ সমস্যার মেসেজে শনাক্ত করা হেডার নাম ম্যাচ করছে কিনা। যেমন, নিম্নলিখিত নীতিতে হেডার হিসেবে alg উল্লেখ করা হয়েছে, যা সমস্যার মেসেজের সাথে মিলছে:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name="alg"/>
        </AdditionalHeaders>
    </VerifyJWT>
    
  3. <Claim><AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে ব্যবহৃত হেডার নাম নিম্নলিখিত স্ট্যান্ডার্ড JWT হেডারগুলির মধ্যে একটি হলে:

    alg বা typ

    তাহলে এটিই হল সমস্যার কারণ।

    উপরে দেখানো Verify JWT নীতিতে, <AdditionalClaims> এলিমেন্টের মধ্যে <Claim> নাম alg হিসেবে নির্দিষ্ট করা হয়েছে, যার ফলে এই সমস্যা হয়েছে:

    Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
    

রেজোলিউশন

<AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ স্ট্যান্ডার্ড JWT হেডার alg বা typ ব্যবহার করবেন না।

JWT যাচাই করার নীতির উদাহরণটি সংশোধন করতে, <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ x5c নাম ব্যবহার করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidTypeForAdditionalHeader

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

Verify JWT নীতির <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবির ধরন নিম্নলিখিত ধরনগুলির মধ্যে একটি না হলে সমস্যাটি হবে:

string (ডিফল্ট), number, boolean অথবা map

যেমন, <AdditionalHeaders> এলিমেন্টের মধ্যে integer দাবি করার ধরন ব্যবহার করলে সমস্যা হবে।

ডায়াগনসিস

  1. সমস্যা সংক্রান্ত মেসেজ থেকে JWT নীতি যাচাই করার নাম, দাবি ও ধরন শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256, দাবি করা নামের claim এবং ধরন হল integer:

    Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
    
  2. যাচাই করুন যে JWT নীতি XML যাচাই করতে না পারার ক্ষেত্রে <AdditionalClaims> এলিমেন্টের অধীনে ব্যবহৃত দাবি ও ধরন, ধাপ ১-এ সমস্যার মেসেজে শনাক্ত করা দাবি ও ধরনের সাথে মিলছে কিনা। যেমন, নিম্নলিখিত নীতিতে দাবিকে claim এবং দাবির ধরনকে integer, হিসেবে নির্দিষ্ট করা হয়েছে, যা সমস্যার মেসেজে দেখানো তথ্যের সাথে মিলে যায়:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalHeaders>
    </VerifyJWT>
    
  3. <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবির ধরন নিম্নলিখিত ধরনগুলির মধ্যে একটি না হলে:

    string (ডিফল্ট), number, boolean অথবা map

    তাহলে এটিই হল সমস্যার কারণ।

    উপরে দেখানো JWT নীতি যাচাই করার উদাহরণে, <AdditionalHeaders> এলিমেন্টের অধীনে <Claim> টাইপকে integer হিসেবে নির্দিষ্ট করা হয়েছে। integer কাজ করে এমন ধরন না হওয়ায়, আপনি এই সমস্যাটি দেখতে পাবেন:

    Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
    

রেজোলিউশন

<AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ শুধুমাত্র কাজ করে এমন ডেটার ধরন string, number, boolean বা map ব্যবহার করা হয়েছে কিনা তা নিশ্চিত করুন।

JWT নীতি যাচাইকরণের উদাহরণটি সংশোধন করতে, দাবি করার ধরনটি পরিবর্তন করে boolean করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidValueOfArrayAttribute

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

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

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<AdditionalClaims> বা <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এর অ্যারে অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা না থাকলে এই সমস্যা হয়।

যেমন, <AdditionalClaims> বা <AdditionalHeaders> এলিমেন্টের <Claim> চাইল্ড এলিমেন্টে অ্যারে অ্যাট্রিবিউটের ভ্যালু yes হিসেবে সেট করলে এই সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে JWT নীতি যাচাই করার নাম ও দাবি করার নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং দাবি করা নামের নাম হল claim:

    Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
    
  2. যাচাই করুন যে JWT নীতি XML যাচাই করার সময় <AdditionalHeaders> এলিমেন্টের মধ্যে থাকা <Claim> চাইল্ড এলিমেন্টে ব্যবহৃত দাবিটির নাম যেন প্রথম ধাপে সমস্যার মেসেজে শনাক্ত করা দাবিটির নামের সাথে মেলে। যেমন, নিম্নলিখিত নীতিতে দাবিটির নাম claim হিসেবে উল্লেখ করা হয়েছে, যা সমস্যার মেসেজে দেখানো নামের সাথে মিলে যায়:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='yes'/>
        </AdditionalClaims>
    </VerifyJWT>
    
  3. <AdditionalClaims> এলিমেন্টের <Claim> চাইল্ড এলিমেন্টে array অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা না থাকলে, এটিই হল সমস্যার কারণ।

    কারণ, উপরের উদাহরণে <AdditionalClaims> এলিমেন্টের <Claim> চাইল্ড এলিমেন্টের array অ্যাট্রিবিউট yes হিসেবে সেট করা আছে, তাই আপনি এই সমস্যাটি পেয়েছেন:

    Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
    

রেজোলিউশন

<AdditionalClaims> বা <AdditionalHeaders> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এর অ্যারে অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা আছে কিনা তা নিশ্চিত করুন।

উপরে দেখানো JWT নীতি যাচাই করার উদাহরণটি সঠিক করতে, অ্যারে অ্যাট্রিবিউটের মান পরিবর্তন করে true করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidValueForElement

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<Algorithm> এলিমেন্টে উল্লেখ করা মান নিম্নলিখিত মানগুলির মধ্যে একটি না হলে এই সমস্যাটি হয়:

HS256, HS384, HS512, RS256, RS384, RS512

যেমন, <Algorithm> এলিমেন্টে অ্যালগরিদম ভ্যালু RS128 হিসেবে উল্লেখ করলে এই সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতি ও এলিমেন্টের নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং এলিমেন্টের নাম হল Algorithm:

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    
  2. JWT যাচাইকরণ সংক্রান্ত নীতি XML কাজ না করার কারণ পরীক্ষা করুন এবং <Algorithm> এলিমেন্টের জন্য নির্দিষ্ট করা মান চেক করুন।

    এখানে JWT যাচাই করার নীতির একটি নমুনা দেওয়া হল:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS128</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </VerifyJWT>
    
  3. <Algorithm> এলিমেন্টে উল্লেখ করা ভ্যালু পরীক্ষা করুন। এটি নিম্নলিখিত মানগুলির মধ্যে একটি না হলে:

    HS256, HS384, HS512, RS256, RS384, RS512

    তাহলে এটিই হল সমস্যার কারণ।

    উপরে দেখানো JWT যাচাই করার নীতির উদাহরণে, <Algorithm> নাম HS128 হিসেবে নির্দিষ্ট করা হয়েছে। এটি কাজ করে এমন অ্যালগরিদম না হওয়ার কারণে, আপনি এই সমস্যাটি দেখতে পাবেন:

    Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
    

রেজোলিউশন

<Algorithm> এলিমেন্টে উল্লেখ করা মানটি যেন ব্যবহারযোগ্য মানগুলির মধ্যে একটি হয় তা নিশ্চিত করুন:

HS256, HS384, HS512, RS256, RS384, RS512

<SecretKey> এলিমেন্ট ব্যবহার করে উপরে দেখানো JWT যাচাইকরণ নীতি সংক্রান্ত উদাহরণটি সংশোধন করতে, <Algorithm>-এর ভ্যালু পরিবর্তন করে HS25 করুন। মনে রাখবেন, <SecretKey> এলিমেন্ট ব্যবহার করা হলে, আপনি শুধুমাত্র HS Family অ্যালগরিদম ব্যবহার করতে পারবেন।

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</VerifyJWT>

MissingConfigurationElement

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

Verify JWT নীতিতে RSA ফ্যামিলি অ্যালগরিদমের সাথে <PublicKey> এলিমেন্ট ব্যবহার না করলে এই সমস্যা হয়। একইভাবে, Verify JWT নীতিতে HS Family অ্যালগরিদমের সাথে <SecretKey> এলিমেন্ট ব্যবহার না করলে সমস্যা হতে পারে।

যেমন, RSA ফ্যামিলি অ্যালগরিদমের সাথে <PublicKey> এলিমেন্ট ব্যবহার না করলে এই সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতির নাম ও অনুপস্থিত এলিমেন্টের নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং অনুপস্থিত এলিমেন্টের নাম হল PublicKey:

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    
  2. Verify JWT নীতি XML কাজ না করার কারণ পরীক্ষা করুন এবং সমস্যার মেসেজে উল্লেখ করা এলিমেন্টটি নেই কিনা তা যাচাই করুন। এটি না থাকলে, সেটিই সমস্যার কারণ।

    যেমন, নিম্নলিখিত নীতিতে দেখা যাচ্ছে যে PublicKey নেই এবং Algorithm হিসেবে RS256 ব্যবহার করা হয়েছে:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </VerifyJWT>
    

    Verify JWT নীতির উদাহরণে HS ফ্যামিলি অ্যালগরিদম ব্যবহার করা হয়েছে, কিন্তু বাধ্যতামূলক এলিমেন্ট PublicKey নেই, যার ফলে এই সমস্যা হয়েছে:

    Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
    

রেজোলিউশন

নিশ্চিত করুন যে বাধ্যতামূলক <PublicKey> এলিমেন্ট RSA ফ্যামিলি অ্যালগরিদমের সাথে এবং বাধ্যতামূলক <SecretKey> এলিমেন্ট HS ফ্যামিলি অ্যালগরিদমের সাথে ব্যবহার করা হয়েছে।

RS256 অ্যালগরিদম ব্যবহার করে উপরে দেখানো Verify JWT নীতির উদাহরণটি সংশোধন করতে, VerifyJWT নীতিতে <PublicKey> এলিমেন্ট যোগ করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <Algorithm>RS256</Algorithm>
    <PublicKey>
      <Value ref="public.publickey"/>
    </PublicKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidKeyConfiguration

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

Verify JWT নীতির <PublicKey> বা <SecretKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> বা বাধ্যতামূলক চাইল্ড এলিমেন্ট <JWKS> সংজ্ঞায়িত করা না থাকলে এই সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতির নাম শনাক্ত করুন। যেমন, নিচে দেখানো সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256:

    Invalid Key configuration : policy(JWT-Verify-RS256).
    
    
  2. JWT যাচাইকরণ সংক্রান্ত ব্যর্থ নীতির XML পরীক্ষা করুন এবং <PublicKey> বা <SecretKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> বা চাইল্ড এলিমেন্ট <JWKS> ডিফাইন করা আছে কিনা তা যাচাই করুন। চাইল্ড এলিমেন্ট নির্দিষ্ট করা না থাকলে, এটিই হল সমস্যার কারণ।

    যেমন, নিম্নলিখিত নীতিতে দেখানো হয়েছে যে <PublicKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> বা <JWKS> নির্দিষ্ট করা নেই:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <PublicKey>
        </PublicKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </VerifyJWT>
    

    <PublicKey>Verify JWT নীতির এলিমেন্টে চাইল্ড এলিমেন্ট <Value> বা <JWKS>সংজ্ঞায়িত করা না থাকার কারণে, আপনি এই সমস্যাটি দেখতে পাবেন:

    Invalid Key configuration : policy(JWT-Verify-RS256).
    

রেজোলিউশন

Verify JWT নীতির <PublicKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> বা <JWKS> সবসময় ডিফাইন করা আছে কিনা তা নিশ্চিত করুন।

JWT যাচাইকরণ নীতির উদাহরণটি সংশোধন করতে, নিচে দেখানো <PublicKey> এলিমেন্টের অধীনে চাইল্ড এলিমেন্ট <Value> বা <JWKS> নির্ধারণ করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <PublicKey>
        <Value ref="public.publickey"/>
    </PublicKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</PublicJWT>

EmptyElementForKeyConfiguration

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value> বা <JWKS>-এ ref অ্যাট্রিবিউট উল্লেখ করা না থাকলে বা খালি থাকলে এই সমস্যা হয়।

যেমন, <PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value> খালি থাকলে, সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে যাচাই করা JWT নীতি ও এলিমেন্টের নাম শনাক্ত করুন যা খালি আছে। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং এলিমেন্টের নাম হল PublicKey/Value:

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
  2. JWT নীতি XML যাচাই করার প্রসেস ব্যর্থ হওয়ার কারণ পরীক্ষা করুন এবং যাচাই করুন যে ধাপ ১-এ শনাক্ত করা এলিমেন্টটি খালি আছে। এটি ফাঁকা থাকলে, সেটিই সমস্যার কারণ।

    যেমন, নিম্নলিখিত নীতিতে দেখা যাচ্ছে যে <PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value> খালি আছে:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <PublicKey>
            <Value/>
        </PublicKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </VerifyJWT>
    

    Verify JWT নীতির <PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value> খালি থাকার কারণে, আপনি এই সমস্যাটি দেখতে পাবেন:

    Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
    
    

রেজোলিউশন

<PublicKey> এলিমেন্টের চাইল্ড এলিমেন্টে <Value> বা <JWKS> ref অ্যাট্রিবিউট সবসময় নির্দিষ্ট করা আছে কিনা তা নিশ্চিত করুন।

Verify JWT নীতির উদাহরণটি সংশোধন করতে, <PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value>-এ ফ্লো ভেরিয়েবল public.publickey ব্যবহার করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <PublicKey>
        <Value ref="public.publickey"/>
    </PublicKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidConfigurationForVerify

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
Invalid configuration element for verify : policy(policy_name) element(element_name).

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

VerifyJWT নীতির <SecretKey> এলিমেন্টের মধ্যে <Id> এলিমেন্টটি সংজ্ঞায়িত করা হলে এই সমস্যাটি ঘটে।

যেমন, <SecretKey> এলিমেন্টে <Id> এলিমেন্টটি ডিফাইন করা থাকলে, এই সমস্যাটি হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতির নাম ও ভুল এলিমেন্টের নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং এলিমেন্টের নাম হল SecretKey/Id:

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    
  2. 'যাচাই JWT নীতি' XML কাজ না করার কারণ পরীক্ষা করুন এবং যাচাই করুন যে ধাপ ১-এ শনাক্ত করা ভুল এলিমেন্টটি সংজ্ঞায়িত করা হয়েছে। এটি সংজ্ঞায়িত করা থাকলে, এটিই সমস্যার কারণ।

    যেমন, নিম্নলিখিত নীতিতে দেখানো হয়েছে যে <SecretKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Id> নির্দিষ্ট করা হয়েছে:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id/>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </VerifyJWT>
    

    Verify JWT নীতির <SecretKey> এলিমেন্টের মধ্যে <Id> এলিমেন্টটি সংজ্ঞায়িত করা হয়েছে বলে আপনি এই সমস্যাটি পেয়েছেন:

    Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
    

রেজোলিউশন

যাচাই JWT নীতির <SecretKey> এলিমেন্টের মধ্যে <Id> এলিমেন্ট কখনওই সংজ্ঞায়িত করা হয় না তা নিশ্চিত করুন।

JWT নীতি যাচাই করার উদাহরণটি সঠিক করতে, <SecretKey> এলিমেন্ট থেকে চাইল্ড এলিমেন্ট <Id> সরিয়ে দিন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref='private.secretkey'/>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidEmptyElement

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision 
Invalid empty element : policy(policy_name) element(element_name).

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

Verify JWT নীতির <Source> এলিমেন্ট খালি থাকলে এই সমস্যা হয়। উপস্থিত থাকলে, এটিকে অবশ্যই Edge ফ্লো ভেরিয়েবলের নাম দিয়ে সংজ্ঞায়িত করতে হবে।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতির নাম ও খালি এলিমেন্টের নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং এলিমেন্টের নাম হল PublicKey/Value:

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    
  2. JWT নীতি XML যাচাই করার প্রসেস ব্যর্থ হওয়ার কারণ পরীক্ষা করুন এবং যাচাই করুন যে ধাপ ১-এ শনাক্ত করা এলিমেন্টটি খালি আছে। এটি ফাঁকা থাকলে, সেটিই সমস্যার কারণ।

    যেমন, নিম্নলিখিত নীতিতে দেখানো হয়েছে যে এলিমেন্ট <Source> খালি আছে:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <Source></Source>
        <PublicKey>
            <Value ref="public.publickey"/>
        </PublicKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </VerifyJWT>
    

    Verify JWT নীতির <Source> এলিমেন্ট খালি থাকার কারণে, আপনি এই সমস্যাটি দেখতে পাবেন:

    Invalid empty element : policy(JWT-Verify-HS256) element(Source).
    

রেজোলিউশন

Verify JWT নীতির <Source> এলিমেন্ট উপস্থিত থাকলে, এটি যেন ফ্লো ভেরিয়েবল নির্দিষ্ট করে তা নিশ্চিত করুন।

Verify JWT নীতির উদাহরণটি সংশোধন করতে, <Source> এলিমেন্টে একটি সঠিক ফ্লো ভেরিয়েবল ব্যবহার করুন:

<VerifyJWT name="JWT-Verify-RS256">
    <DisplayName>JWT Verify RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <Source>jwt-variable</Source>
    <PublicKey>
        <Value ref="public.publickey"/>
    </PublicKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</VerifyJWT>

InvalidPublicKeyValue

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <JWKS>-এ ব্যবহৃত ভ্যালু RFC 7517-এ নির্দিষ্ট করা সঠিক ফর্ম্যাটে না থাকলে এই সমস্যা হয়।

যেমন, <PublicKey> এলিমেন্টের অধীনে <JWKS> চাইল্ড এলিমেন্টের ভ্যালু হিসেবে abc ব্যবহার করলে এই সমস্যাটি হবে।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতি ও ভুল মান থাকা এলিমেন্টের নাম শনাক্ত করুন। যেমন, নিচে দেখানো সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-RS256 এবং এলিমেন্ট হল PublicKey/JWKS:

    Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
    
  2. Verify JWT নীতি XML কাজ না করার কারণ পরীক্ষা করুন এবং যাচাই করুন যে ধাপ ১-এ শনাক্ত করা এলিমেন্টে RFC 7517 অনুযায়ী সঠিক ফর্ম্যাটে ভ্যালু আছে। এলিমেন্টের ভ্যালু সঠিক ফর্ম্যাটে না থাকলে, সেটিই হল সমস্যার কারণ।

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <PublicKey>
            <JWKS>abc<JWKS>
        </PublicKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
    </VerifyJWT>
    

    RFC 7517 অনুযায়ী <PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <JWKS>-এর ভ্যালু সঠিক ফর্ম্যাটে না থাকার কারণে আপনি এই সমস্যাটি পেয়েছেন:

    Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
    

রেজোলিউশন

<PublicKey> এলিমেন্টের <JWKS> চাইল্ড এলিমেন্টে উল্লেখ করা ভ্যালু যেন সঠিক JWKS ফর্ম্যাটে (RFC 7517) সঠিক স্ট্রিং বা ফ্লো ভেরিয়েবল হয় তা নিশ্চিত করুন।

JWT নীতি যাচাই করার উদাহরণটি সঠিক করতে, নিচে দেখানো <JWKS>-এর মান পরিবর্তন করুন:

    <VerifyJWT name="JWT-Verify-RS256">
        <DisplayName>JWT Verify RS256</DisplayName>
        <Algorithm>RS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <PublicKey>
        <JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
        </PublicKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
    </VerifyJWT>

InvalidConfigurationForActionAndAlgorithm

সমস্যা সংক্রান্ত মেসেজ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).

সমস্যার মেসেজের উদাহরণ

Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).

স্ক্রিনশটের উদাহরণ

Edge UI-তে, আপনি একটি সমস্যার মেসেজ সহ ডায়ালগ বক্স দেখতে পাবেন:

কারণ

<PublicKey> এলিমেন্ট HS ফ্যামিলি অ্যালগরিদমের সাথে ব্যবহার করা হলে এবং <SecretKey> এলিমেন্ট RSA ফ্যামিলি অ্যালগরিদমের সাথে ব্যবহার করা হলে এই সমস্যাটি হয়। এইসব শর্তের মধ্যে যেকোনও একটি সত্য হলেও সমস্যা হবে।

যেমন, HS Family অ্যালগরিদমের সাথে <PublicKey> এলিমেন্ট ব্যবহার করলে এই সমস্যাটি হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজ থেকে Verify JWT নীতির নাম, এলিমেন্টের নাম ও অ্যালগরিদম ফ্যামিলির নাম শনাক্ত করুন। যেমন, নিচের সমস্যার মেসেজে, Verify JWT নীতির নাম হল JWT-Verify-HS256, এলিমেন্টের নাম হল PublicKey এবং অ্যালগরিদম ফ্যামিলি হল RSA:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
    
  2. যাচাই করে দেখুন যে JWT নীতি XML যাচাই করতে না পারার ক্ষেত্রে ব্যবহৃত এলিমেন্ট ও অ্যালগরিদম ফ্যামিলি, ধাপ ১-এ সমস্যার মেসেজে শনাক্ত করা এলিমেন্ট ও অ্যালগরিদম ফ্যামিলির সাথে ম্যাচ করছে কিনা। যেমন, নিম্নলিখিত নীতিতে এলিমেন্ট হিসেবে PublicKey এবং অ্যালগরিদম ফ্যামিলি হিসেবে HMAC নির্দিষ্ট করা হয়েছে, যা এরর মেসেজে দেখানো তথ্যের সাথে মিলে যায়

    <VerifyJWT name="JWT-Verify-HS256">
        <DisplayName>JWT Verify HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <Source>request.formparam.jwt</Source>
        <PublicKey>
            <Value ref="var-value"/>
        </PublicKey>
        <SecretKey>
            <Value ref="private.secretkey"/>
        </SecretKey>
            <ExpiresIn>1h</ExpiresIn>
            <Subject>monty-pythons-flying-circus</Subject>
            <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
            <Audience>fans</Audience>
        </VerifyJWT>
    
  3. <Algorithm> এলিমেন্টের ভ্যালু HS256 হলেও আপনি যদি <PublicKey> ব্যবহার করে থাকেন, তাহলে এটিই হল সমস্যার কারণ।

    উপরে দেখানো JWT যাচাই করার নীতিতে, <Algorithm>-এর মান ফ্যামিলি অ্যালগরিদম HS256 হিসেবে সেট করা থাকলেও <PublicKey> এলিমেন্ট ব্যবহার করা হয়েছে, যার ফলে এই সমস্যা হয়েছে:

    Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
    

রেজোলিউশন

<PublicKey> এলিমেন্ট শুধুমাত্র RSA ফ্যামিলি অ্যালগরিদমের সাথে এবং <SecretKey> এলিমেন্ট শুধুমাত্র HS ফ্যামিলি অ্যালগরিদমের সাথে ব্যবহার করা হয়েছে কিনা তা নিশ্চিত করুন।

Verify JWT নীতির উদাহরণে কোনও ভুল থাকলে, HS256 অ্যালগরিদম ব্যবহার করে এমন VerifyJWT নীতি থেকে <SecretKey> ব্যবহার করুন:

    <VerifyJWT name="JWT-Verify-HS256">
        <DisplayName>JWT Verify HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <Source>request.formparam.jwt</Source>
        <SecretKey>
        <Value ref="private.secretkey"/>
    </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
    </VerifyJWT>