জেডাব্লুএস নীতি তৈরি করুন

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

কি

দাবির একটি কনফিগারযোগ্য সেট সহ একটি স্বাক্ষরিত JWS তৈরি করে। JWS তারপরে ক্লায়েন্টদের কাছে ফেরত দেওয়া যেতে পারে, ব্যাকএন্ড টার্গেটে প্রেরণ করা যেতে পারে বা অন্য উপায়ে ব্যবহার করা যেতে পারে। বিস্তারিত ভূমিকার জন্য JWS এবং JWT নীতি ওভারভিউ দেখুন।

একটি JWS-এর অংশগুলি এবং কীভাবে সেগুলি এনক্রিপ্ট করা এবং স্বাক্ষর করা হয় সে সম্পর্কে জানতে, RFC7515 পড়ুন।

ভিডিও

কিভাবে একটি স্বাক্ষরিত JWT তৈরি করতে হয় তা জানতে একটি ছোট ভিডিও দেখুন। যদিও এই ভিডিওটি একটি JWT তৈরি করার জন্য নির্দিষ্ট, তবে অনেক ধারণা JWS-এর জন্য একই।

নমুনা

HS256 অ্যালগরিদমের সাথে স্বাক্ষরিত একটি সংযুক্ত JWS তৈরি করুন

এই উদাহরণ নীতি একটি সংযুক্ত JWS তৈরি করে এবং HS256 অ্যালগরিদম ব্যবহার করে স্বাক্ষর করে। HS256 স্বাক্ষর করা এবং স্বাক্ষর যাচাই উভয়ের জন্য একটি ভাগ করা গোপনীয়তার উপর নির্ভর করে।

একটি সংযুক্ত JWS-এ এনকোডেড হেডার, পেলোড এবং স্বাক্ষর রয়েছে:

header.payload.signature

বিচ্ছিন্ন বিষয়বস্তু তৈরি করতে <DetachContent> কে সত্যে সেট করুন। একটি JWS এর গঠন এবং বিন্যাস সম্পর্কে আরও জানতে JWS/JWT-এর অংশগুলি দেখুন।

কাঁচা, আনকোডেড JWS পেলোড নির্দিষ্ট করতে <Payload> উপাদান ব্যবহার করুন। এই উদাহরণে, একটি ভেরিয়েবল পেলোড ধারণ করে। যখন এই নীতি অ্যাকশনটি ট্রিগার করা হয়, তখন এজ JWS হেডার এবং পেলোড এনকোড করে, তারপর JWS-এ ডিজিটাল সাইন করার জন্য এনকোড করা স্বাক্ষর যোগ করে।

নিচের নীতির কনফিগারেশনটি ভ্যারিয়েবল private.payload এ থাকা একটি পেলোড থেকে একটি JWS তৈরি করে।

<GenerateJWS name="JWS-Generate-HS256">
    <DisplayName>JWS Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <Payload ref="private.payload" />
    <OutputVariable>jws-variable</OutputVariable>
</GenerateJWS>

RS256 অ্যালগরিদমের সাথে স্বাক্ষরিত একটি বিচ্ছিন্ন JWS তৈরি করুন

এই উদাহরণ নীতিটি একটি বিচ্ছিন্ন JWS তৈরি করে এবং RS256 অ্যালগরিদম ব্যবহার করে স্বাক্ষর করে। একটি RS256 স্বাক্ষর তৈরি করা একটি RSA ব্যক্তিগত কী-এর উপর নির্ভর করে, যা PEM-এনকোডেড ফর্মে প্রদান করতে হবে।

একটি বিচ্ছিন্ন JWS JWS থেকে পেলোড বাদ দেয়:

header..signature

কাঁচা, আনকোডেড JWS পেলোড নির্দিষ্ট করতে <Payload> উপাদান ব্যবহার করুন। যখন এই নীতিটি ট্রিগার করা হয়, তখন এজ JWS হেডার এবং পেলোড এনকোড করে এবং তারপর এনকোড করা স্বাক্ষর তৈরি করতে সেগুলি ব্যবহার করে। যাইহোক, জেনারেট করা JWS পেলোড বাদ দেয়। VerifyJWS নীতির <DetachedContent> উপাদান ব্যবহার করে ভেরিফাইজেডব্লিউএস নীতিতে পেলোড পাস করা আপনার উপর নির্ভর করে।

<GenerateJWS name="JWS-Generate-RS256">
    <DisplayName>JWS Generate RS256</DisplayName>
    <Algorithm>RS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <PrivateKey>
        <Value ref="private.privatekey"/>
        <Password ref="private.privatekey-password"/>
        <Id ref="private.privatekey-id"/>
    </PrivateKey>
    <Payload ref="private.payload" />
    <DetachContent>true</DetachContent>
    <OutputVariable>jws-variable</OutputVariable>
</GenerateJWS>

মূল উপাদান সেট করা

আপনি JWS তৈরি করতে ব্যবহৃত কী নির্দিষ্ট করতে যে উপাদানগুলি ব্যবহার করেন তা নির্বাচিত অ্যালগরিদমের উপর নির্ভর করে, যেমনটি নিম্নলিখিত টেবিলে দেখানো হয়েছে:

অ্যালগরিদম মূল উপাদান
এইচএস{256/384/512} *
<SecretKey>
  <Value ref="private.secretkey"/>
  <Id>1918290</Id>
</SecretKey>
RS/PS/ES{256/384/512} *
<PrivateKey>
  <Value ref="private.privatekey"/>
  <Password ref="private.privatekey-password"/>
  <Id ref="private.privatekey-id"/>
</PrivateKey>

<Password> এবং <Id> উপাদান ঐচ্ছিক।

* মূল প্রয়োজনীয়তা সম্পর্কে আরও জানতে, স্বাক্ষর এনক্রিপশন অ্যালগরিদম সম্পর্কে দেখুন।

জেডাব্লুএস জেনারেট করার জন্য উপাদান রেফারেন্স

নীতির রেফারেন্স জেনারেট JWS নীতির উপাদান এবং বৈশিষ্ট্য বর্ণনা করে।

দ্রষ্টব্য: আপনি যে এনক্রিপশন অ্যালগরিদম ব্যবহার করেন তার উপর নির্ভর করে কনফিগারেশন কিছুটা আলাদা হবে। নির্দিষ্ট ব্যবহারের ক্ষেত্রে কনফিগারেশন প্রদর্শন করে এমন উদাহরণগুলির জন্য নমুনাগুলি পড়ুন।

উচ্চ-স্তরের উপাদানে প্রযোজ্য বৈশিষ্ট্য

<GenerateJWS name="JWS" continueOnError="false" enabled="true" async="false">

নিম্নলিখিত বৈশিষ্ট্যগুলি সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ৷

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
নাম নীতির অভ্যন্তরীণ নাম। আপনি নামের মধ্যে যে অক্ষরগুলি ব্যবহার করতে পারেন তাতে সীমাবদ্ধ: A-Z0-9._\-$ % । যাইহোক, এজ ম্যানেজমেন্ট UI অতিরিক্ত বিধিনিষেধ প্রয়োগ করে, যেমন স্বয়ংক্রিয়ভাবে অক্ষরগুলিকে অপসারণ করা যা আলফানিউমেরিক নয়।

ঐচ্ছিকভাবে, <displayname></displayname> এলিমেন্টটি ব্যবহার করুন ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষার নামের সাথে লেবেল করতে।

N/A প্রয়োজন
continueOnError একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে false সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ।

একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে true সেট করুন৷

মিথ্যা ঐচ্ছিক
সক্রিয় নীতি প্রয়োগ করতে true সেট করুন৷

নীতি "বন্ধ" করতে false সেট করুন৷ নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না।

সত্য ঐচ্ছিক
অ্যাসিঙ্ক এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ মিথ্যা অবচয়

<DisplayName>

<DisplayName>Policy Display Name</DisplayName>

ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে নামের বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।

ডিফল্ট আপনি এই উপাদানটি বাদ দিলে, নীতির নামের বৈশিষ্ট্যের মান ব্যবহার করা হবে।
উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং

<অ্যালগরিদম>

<Algorithm>algorithm-here</Algorithm>

টোকেন সাইন ইন করতে এনক্রিপশন অ্যালগরিদম নির্দিষ্ট করে।

ডিফল্ট N/A
উপস্থিতি প্রয়োজন
টাইপ স্ট্রিং
বৈধ মান HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512

<অতিরিক্ত শিরোনাম/দাবি>

<AdditionalHeaders>
    <Claim name='claim1'>explicit-value-of-claim-here</Claim>
    <Claim name='claim2' ref='variable-name-here'/>
    <Claim name='claim3' ref='variable-name-here' type='boolean'/>
    <Claim name='claim4' ref='variable-name' type='string' array='true'/>
 </AdditionalHeaders>

JWS-এর জন্য হেডারে অতিরিক্ত দাবির নাম/মূল্যের জোড়া(গুলি) রাখুন।

ডিফল্ট N/A
উপস্থিতি ঐচ্ছিক
বৈধ মান আপনি একটি অতিরিক্ত দাবির জন্য ব্যবহার করতে চান যে কোনো মান. আপনি স্ট্রিং, একটি সংখ্যা, একটি বুলিয়ান, একটি মানচিত্র, বা একটি অ্যারে হিসাবে স্পষ্টভাবে দাবি নির্দিষ্ট করতে পারেন।

<Claim> উপাদানটি এই বৈশিষ্ট্যগুলি গ্রহণ করে:

  • নাম - (প্রয়োজনীয়) দাবির নাম।
  • ref - (ঐচ্ছিক) একটি ফ্লো ভেরিয়েবলের নাম। উপস্থিত থাকলে, নীতি দাবি হিসাবে এই ভেরিয়েবলের মান ব্যবহার করবে। যদি একটি রেফ অ্যাট্রিবিউট এবং একটি স্পষ্ট দাবি মান উভয়ই নির্দিষ্ট করা থাকে, তাহলে স্পষ্ট মানটি ডিফল্ট, এবং যদি উল্লেখিত ফ্লো ভেরিয়েবল অমীমাংসিত হয় তাহলে ব্যবহার করা হয়।
  • প্রকার - (ঐচ্ছিক) এর মধ্যে একটি: স্ট্রিং (ডিফল্ট), সংখ্যা, বুলিয়ান বা মানচিত্র
  • অ্যারে - (ঐচ্ছিক) মানটি ধরনগুলির একটি অ্যারে কিনা তা নির্দেশ করতে সত্যে সেট করুন। ডিফল্ট: মিথ্যা।

<ক্রিটিকাল হেডার>

<CriticalHeaders>a,b,c</CriticalHeaders>

or:

<CriticalHeaders ref=’variable_containing_headers’/>

JWS-এ সমালোচনামূলক শিরোনাম, crit , যোগ করে। ক্রিট হেডার হল হেডার নামের একটি অ্যারে যা অবশ্যই JWS রিসিভার দ্বারা পরিচিত এবং স্বীকৃত হতে হবে। যেমন:

{
  “typ: “...”,
  “alg” : “...”,
  “crit” : [ “a”, “b”, “c” ],
}

রানটাইমে, VerifyJWS নীতি ক্রিট হেডার পরীক্ষা করে। ক্রিট হেডারে তালিকাভুক্ত প্রতিটি হেডারের জন্য, এটি যাচাই করে যে VerifyJWS নীতির <KnownHeaders> উপাদানটিও সেই শিরোনামটি তালিকাভুক্ত করে। যেকোন শিরোনাম যা VerifyJWS নীতি সমালোচনায় খুঁজে পায় যেটি <KnownHeaders> -এও তালিকাভুক্ত নয়, VerifyJWS নীতি ব্যর্থ হয়।

ডিফল্ট N/A
উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিংগুলির কমা দ্বারা বিভক্ত অ্যারে
বৈধ মান হয় একটি অ্যারে বা অ্যারে ধারণকারী একটি ভেরিয়েবলের নাম।

<বিচ্ছিন্ন বিষয়বস্তু>

<DetachContent>true|false</DetachContent>

একটি বিচ্ছিন্ন পেলোড দিয়ে JWS তৈরি করতে হবে কিনা তা নির্দিষ্ট করে, <DetachContent>true</DetachContent> , নাকি না, <DetachContent>false</DetachContent>

আপনি মিথ্যা উল্লেখ করলে, ডিফল্ট, জেনারেট করা JWS ফর্মে থাকে:

header.payload.signature

যদি আপনি বিচ্ছিন্ন পেলোড তৈরি করতে সত্য উল্লেখ করেন, তাহলে জেনারেট করা JWS পেলোডটি বাদ দেয় এবং ফর্মে থাকে:

header..signature

একটি বিচ্ছিন্ন পেলোডের সাথে, VerifyJWS নীতির <DetachedContent> উপাদান ব্যবহার করে VerifyJWS নীতিতে মূল আনকোড করা পেলোডটি পাস করা আপনার উপর নির্ভর করে।

ডিফল্ট মিথ্যা
উপস্থিতি ঐচ্ছিক
টাইপ বুলিয়ান
বৈধ মান সত্য বা মিথ্যা

<অমীমাংসিত ভেরিয়েবলগুলিকে উপেক্ষা করুন>

<IgnoreUnresolvedVariables>true|false</IgnoreUnresolvedVariables>

পলিসিতে উল্লেখ করা যেকোন রেফারেন্স ভেরিয়েবল অমীমাংসিত হলে আপনি যদি নীতিটি একটি ত্রুটি ছুঁড়তে চান তাহলে মিথ্যাতে সেট করুন৷ কোনো অমীমাংসিত ভেরিয়েবলকে খালি স্ট্রিং (নাল) হিসাবে বিবেচনা করার জন্য সত্যে সেট করুন।

ডিফল্ট মিথ্যা
উপস্থিতি ঐচ্ছিক
টাইপ বুলিয়ান
বৈধ মান সত্য বা মিথ্যা

<আউটপুট ভেরিয়েবল>

<OutputVariable>JWS-variable</OutputVariable>

এই নীতি দ্বারা জেনারেট করা JWS কোথায় রাখতে হবে তা নির্দিষ্ট করে। ডিফল্টরূপে এটি ফ্লো ভেরিয়েবল jws. POLICYNAME .generated_jws

ডিফল্ট jws. POLICYNAME .generated_jws
উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং (একটি প্রবাহ পরিবর্তনশীল নাম)

<পেলোড>

<Payload ref="flow-variable-name-here" />

or

<Payload>payload-value</Payload>

কাঁচা, আনকোডেড JWS পেলোড নির্দিষ্ট করে। পেলোড, বা একটি স্ট্রিং ধারণকারী একটি ভেরিয়েবল নির্দিষ্ট করুন।

ডিফল্ট N/A
উপস্থিতি প্রয়োজন
টাইপ স্ট্রিং, বাইট অ্যারে, স্ট্রিম, বা আনকোড করা JWS পেলোডের অন্য কোনো উপস্থাপনা।

<PrivateKey/Id>

<PrivateKey>
  <Id ref="flow-variable-name-here"/>
</PrivateKey>

or

<PrivateKey>
  <Id>your-id-value-here</Id>
</PrivateKey>

JWS হেডারে অন্তর্ভুক্ত করার জন্য কী আইডি (কিড) নির্দিষ্ট করে। শুধুমাত্র তখনই ব্যবহার করুন যখন অ্যালগরিদমটি RS256/RS384/RS512, PS256/PS384/PS512, অথবা ES256/ES384/ES512-এর মধ্যে একটি হয়৷

ডিফল্ট N/A
উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং
বৈধ মান একটি প্রবাহ পরিবর্তনশীল বা স্ট্রিং

<ব্যক্তিগত কী/পাসওয়ার্ড>

<PrivateKey>
  <Password ref="private.privatekey-password"/>
</PrivateKey>

প্রয়োজনে ব্যক্তিগত কী ডিক্রিপ্ট করার জন্য নীতিটি যে পাসওয়ার্ড ব্যবহার করবে তা নির্দিষ্ট করুন। একটি ফ্লো ভেরিয়েবলে কী পাস করতে রেফ অ্যাট্রিবিউট ব্যবহার করুন। শুধুমাত্র তখনই ব্যবহার করুন যখন অ্যালগরিদমটি RS256/RS384/RS512, PS256/PS384/PS512, অথবা ES256/ES384/ES512-এর মধ্যে একটি হয়৷

ডিফল্ট N/A
উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং
বৈধ মান একটি প্রবাহ পরিবর্তনশীল রেফারেন্স।

দ্রষ্টব্য: আপনাকে অবশ্যই একটি ফ্লো ভেরিয়েবল নির্দিষ্ট করতে হবে। এজ একটি নীতি কনফিগারেশনকে অবৈধ হিসাবে প্রত্যাখ্যান করবে যেখানে পাসওয়ার্ডটি প্লেইনটেক্সটে নির্দিষ্ট করা আছে। ফ্লো ভেরিয়েবলের অবশ্যই "ব্যক্তিগত" উপসর্গ থাকতে হবে। উদাহরণস্বরূপ, private.mypassword

<PrivateKey/Value>

<PrivateKey>
  <Value ref="private.variable-name-here"/>
</PrivateKey>

JWS সাইন করার জন্য ব্যবহৃত একটি PEM-এনকোড করা ব্যক্তিগত কী নির্দিষ্ট করে। একটি ফ্লো ভেরিয়েবলে কী পাস করতে রেফ অ্যাট্রিবিউট ব্যবহার করুন। শুধুমাত্র তখনই ব্যবহার করুন যখন অ্যালগরিদমটি RS256/RS384/RS512, PS256/PS384/PS512, অথবা ES256/ES384/ES512-এর মধ্যে একটি হয়৷

ডিফল্ট N/A
উপস্থিতি RS256 অ্যালগরিদম ব্যবহার করে একটি JWS তৈরি করতে হবে।
টাইপ স্ট্রিং
বৈধ মান একটি PEM-এনকোডেড RSA ব্যক্তিগত কী মান প্রতিনিধিত্বকারী একটি স্ট্রিং ধারণকারী একটি ফ্লো ভেরিয়েবল।

দ্রষ্টব্য: ফ্লো ভেরিয়েবলের অবশ্যই "ব্যক্তিগত" উপসর্গ থাকতে হবে। উদাহরণস্বরূপ, private.mykey

<সিক্রেটকি/আইডি>

<SecretKey>
  <Id ref="flow-variable-name-here"/>
</SecretKey>

or

<SecretKey>
  <Id>your-id-value-here</Id>
</SecretKey>

HMAC অ্যালগরিদমের সাথে স্বাক্ষরিত JWS-এর JWS হেডারে অন্তর্ভুক্ত করার জন্য কী আইডি (কিড) নির্দিষ্ট করে। অ্যালগরিদম HS256/HS384/HS512-এর মধ্যে একটি হলেই ব্যবহার করুন৷

ডিফল্ট N/A
উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং
বৈধ মান একটি প্রবাহ পরিবর্তনশীল বা স্ট্রিং

<গোপন কী/মান>

<SecretKey>
  <Value ref="private.your-variable-name"/>
</SecretKey>

একটি HMAC অ্যালগরিদম দিয়ে টোকেন যাচাই বা স্বাক্ষর করতে ব্যবহৃত গোপন কী প্রদান করে। অ্যালগরিদম HS256/HS384/HS512-এর মধ্যে একটি হলেই ব্যবহার করুন৷ একটি ফ্লো ভেরিয়েবলে কী পাস করতে রেফ অ্যাট্রিবিউট ব্যবহার করুন।

এজ HS256/HS384/HS512 অ্যালগরিদমের জন্য ন্যূনতম কী শক্তি প্রয়োগ করে। HS256 এর জন্য ন্যূনতম কী দৈর্ঘ্য হল 32 বাইট, HS384 এর জন্য এটি 48 বাইট এবং HS512 এর জন্য এটি 64 বাইট। একটি নিম্ন-শক্তির কী ব্যবহার করা একটি রানটাইম ত্রুটি ঘটায়।

ডিফল্ট N/A
উপস্থিতি HMAC অ্যালগরিদমের জন্য প্রয়োজনীয়।
টাইপ স্ট্রিং
বৈধ মান একটি স্ট্রিং উল্লেখ করে একটি ফ্লো ভেরিয়েবল

দ্রষ্টব্য: একটি ফ্লো ভেরিয়েবল হলে, এটি অবশ্যই "ব্যক্তিগত" উপসর্গ থাকতে হবে। উদাহরণস্বরূপ, private.mysecret

ফ্লো ভেরিয়েবল

জেনারেট JWS নীতি ফ্লো ভেরিয়েবল সেট করে না।

ত্রুটি উল্লেখ

এই বিভাগটি ফল্ট কোড এবং ত্রুটির বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷

রানটাইম ত্রুটি

নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷

ফল্ট কোড HTTP স্থিতি যখন ঘটে
steps.jws.GenerationFailed 401 নীতি JWS তৈরি করতে অক্ষম ছিল।
steps.jws.InsufficientKeyLength 401 HS256 অ্যালগরিদমের জন্য 32 বাইটের কম একটি কী-এর জন্য
steps.jws.InvalidClaim 401 একটি অনুপস্থিত দাবি বা দাবি অমিল, বা একটি অনুপস্থিত শিরোনাম বা শিরোনাম অমিলের জন্য৷
steps.jws.InvalidCurve 401 কী দ্বারা নির্দিষ্ট করা বক্ররেখা উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য বৈধ নয়।
steps.jws.InvalidJsonFormat 401 JWS হেডারে অবৈধ JSON পাওয়া গেছে।
steps.jws.InvalidPayload 401 JWS পেলোড অবৈধ।
steps.jws.InvalidSignature 401 <DetachedContent> বাদ দেওয়া হয়েছে এবং JWS-এর একটি বিচ্ছিন্ন কন্টেন্ট পেলোড রয়েছে।
steps.jws.KeyIdMissing 401 যাচাই নীতিতে পাবলিক কীগুলির উৎস হিসাবে একটি JWKS ব্যবহার করা হয়, কিন্তু স্বাক্ষরিত JWS শিরোনামে একটি kid সম্পত্তি অন্তর্ভুক্ত করে না।
steps.jws.KeyParsingFailed 401 প্রদত্ত মূল তথ্য থেকে সর্বজনীন কী পার্স করা যায়নি।
steps.jws.MissingPayload 401 JWS পেলোড অনুপস্থিত.
steps.jws.NoAlgorithmFoundInHeader 401 JWS অ্যালগরিদম হেডার বাদ দিলে ঘটে।
steps.jws.SigningFailed 401 জেনারেটজেডব্লিউএস-এ, HS384 বা HS512 অ্যালগরিদমের ন্যূনতম আকারের চেয়ে কম একটি কী-এর জন্য
steps.jws.UnknownException 401 একটি অজানা ব্যতিক্রম ঘটেছে.
steps.jws.WrongKeyType 401 ভুল ধরনের কী নির্দিষ্ট করা হয়েছে। উদাহরণস্বরূপ, যদি আপনি একটি উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য একটি RSA কী বা একটি RSA অ্যালগরিদমের জন্য একটি কার্ভ কী উল্লেখ করেন।

স্থাপনার ত্রুটি

আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷

ত্রুটির নাম যখন ঘটে
InvalidAlgorithm শুধুমাত্র বৈধ মানগুলি হল: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512৷

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

অন্যান্য সম্ভাব্য স্থাপনার ত্রুটি।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
fault.name=" fault_name " fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। fault.name Matches "TokenExpired"
JWS.failed সমস্ত JWS নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। jws.JWS-Policy.failed = true

উদাহরণ ত্রুটি প্রতিক্রিয়া

ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।

উদাহরণ দোষ নিয়ম

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>