GetOAuthV2Info নীতি

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

কী

অ্যাক্সেস টোকেন, রিফ্রেশ টোকেন, যাচাইকরণ কোড ও ক্লায়েন্ট অ্যাপের অ্যাট্রিবিউট পায় এবং সেইসব অ্যাট্রিবিউটের ভ্যালু দিয়ে ভেরিয়েবল পূরণ করে।

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

এই নীতিতে আপনি যে অ্যাক্সেস টোকেন পাস করেন সেটি অবশ্যই বৈধ হতে হবে, তা না হলে নীতিটি একটি invalid_access_token এরর দেখাবে।

নমুনা

নিচের নমুনাগুলি OAuth2 ওয়ার্কফ্লোর বিভিন্ন কম্পোনেন্ট সম্পর্কে তথ্য পেতে Get OAuth V2 Info নীতি ব্যবহার করে এবং তারপরে কোডের মধ্যে সেই তথ্য অ্যাক্সেস করে।

অ্যাক্সেস টোকেন

অ্যাক্সেস টোকেনের রেফারেন্স পেতে, আপনার নীতিতে <AccessToken> এলিমেন্ট ব্যবহার করুন।

নিচের উদাহরণে, "access_token" নামের কোয়েরি প্যারামিটারে অ্যাক্সেস টোকেন খুঁজে পাওয়ার কথা বলা হয়েছে (প্রকৃত প্রয়োগের বিবরণ আপনার উপর নির্ভর করে):

<GetOAuthV2Info name="MyTokenAttrsPolicy">
  <AccessToken ref="request.queryparam.access_token"></AccessToken>
</GetOAuthV2Info>

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

তারপরে, আপনি জাভাস্ক্রিপ্ট বা অন্য কোনও উপায়ে ভেরিয়েবেল অ্যাক্সেস করতে পারবেন। নিচের উদাহরণটি জাভাস্ক্রিপ্ট ব্যবহার করে অ্যাক্সেস টোকেনের সাথে যুক্ত স্কোপ পুনরুদ্ধার করে:

var scope = context.getVariable('oauthv2accesstoken.MyTokenAttrsPolicy.scope');

মনে রাখবেন, কোডে সেইসব ভেরিয়েবল অ্যাক্সেস করতে হলে, আপনাকে অবশ্যই সেগুলির আগে "oauthv2accesstoken" লিখতে হবে। অ্যাক্সেস টোকেনের মাধ্যমে উপলভ্য ভেরিয়েবলের সম্পূর্ণ তালিকা দেখতে, অ্যাক্সেস টোকেন ভেরিয়েবল দেখুন।

যাচাইকরণ কোড

অনুমোদন কোড অ্যাট্রিবিউট পেতে, আপনার নীতিতে <AuthorizationCode> এলিমেন্ট ব্যবহার করুন।

নিচের উদাহরণে, "code" নামের প্যারামিটারে অ্যাক্সেস টোকেন আছে বলে ধরে নেওয়া হয়েছে (প্রকৃত প্রয়োগের বিবরণ আপনার উপর নির্ভর করে):

<GetOAuthV2Info name="MyAuthCodeAttrsPolicy">
  <AuthorizationCode ref="request.formparam.code"></AuthorizationCode>
</GetOAuthV2Info>

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

তারপরে, আপনি জাভাস্ক্রিপ্ট বা অন্য কোনও উপায়ে ভেরিয়েবেল অ্যাক্সেস করতে পারবেন। নিম্নলিখিত উদাহরণ জাভাস্ক্রিপ্ট ব্যবহার করে অথরাইজেশন কোডের সাথে যুক্ত কাস্টম অ্যাট্রিবিউট রিট্রিভ করে:

var attr = context.getVariable(‘oauthv2authcode.MyAuthCodeAttrsPolicy.custom_attribute_name’);

মনে রাখবেন, কোডে সেইসব ভেরিয়েবল অ্যাক্সেস করতে, আপনাকে অবশ্যই "oauthv2authcode" দিয়ে প্রিফিক্স করতে হবে। অনুমোদন কোডের মাধ্যমে উপলভ্য ভেরিয়েবলের সম্পূর্ণ তালিকা দেখতে, এখানে যান: অনুমোদন কোড ভেরিয়েবল।

রিফ্রেশ টোকেন

রিফ্রেশ টোকেন অ্যাট্রিবিউট পেতে, আপনার নীতিতে <RefreshToken> এলিমেন্ট ব্যবহার করুন।

নিচের উদাহরণে, "refresh_token" নামের কোয়েরি প্যারামিটারে অ্যাক্সেস টোকেন খুঁজে পাওয়ার কথা বলা হয়েছে (প্রকৃত প্রয়োগের বিবরণ আপনার উপর নির্ভর করে):

<GetOAuthV2Info name="MyRefreshTokenAttrsPolicy">
  <RefreshToken ref="request.queryparam.refresh_token"/>
</GetOAuthV2Info>

রিফ্রেশ টোকেন দেওয়া হলে, নীতিটি রিফ্রেশ টোকেনের তথ্য খুঁজে দেখে এবং রিফ্রেশ টোকেন ডেটা সহ ভেরিয়েবলের একটি সেট পূরণ করে।

তারপরে, আপনি জাভাস্ক্রিপ্ট বা অন্য কোনও উপায়ে সেইসব ভেরিয়েবল অ্যাক্সেস করতে পারবেন। নিম্নলিখিত উদাহরণে জাভাস্ক্রিপ্ট ব্যবহার করে রিফ্রেশ টোকেনের সাথে যুক্ত কাস্টম অ্যাট্রিবিউট পুনরুদ্ধার করা হয়েছে:

var attr = context.getVariable(‘oauthv2refreshtoken.MyRefreshTokenAttrsPolicy.accesstoken.custom_attribute_name’);

মনে রাখবেন, কোডে ভেরিয়েবল অ্যাক্সেস করতে হলে, আপনাকে অবশ্যই সেগুলির আগে "oauthv2refreshtoken" প্রিফিক্স যোগ করতে হবে। রিফ্রেশ টোকেনের মাধ্যমে উপলভ্য ভেরিয়েবলের সম্পূর্ণ তালিকা দেখতে, রিফ্রেশ টোকেন ভেরিয়েবল দেখুন।

স্থির

কিছু বিরল ক্ষেত্রে, আপনাকে স্ট্যাটিক কনফিগার করা টোকেনের প্রোফাইল পেতে হতে পারে (এমন একটি যা ভেরিয়েবলের মাধ্যমে অ্যাক্সেস করা যায় না)। আপনি এলিমেন্ট হিসেবে অ্যাক্সেস টোকেনের ভ্যালু প্রদান করে এটি করতে পারেন।

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken>shTUmeI1geSKin0TODcGLXBNe9vp</AccessToken>
</GetOAuthV2Info>

আপনি এটি অন্য সব ধরনের টোকেনের (ক্লায়েন্ট আইডি, অনুমোদন কোড ও রিফ্রেশ টোকেন) ক্ষেত্রেও করতে পারবেন।

ক্লায়েন্ট ID

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

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId ref="request.queryparam.client_id"></ClientId>
</GetOAuthV2Info>

তারপরে, আপনি জাভাস্ক্রিপ্ট বা অন্য কোনও উপায়ে ভেরিয়েবেল অ্যাক্সেস করতে পারবেন। যেমন, ক্লায়েন্ট অ্যাপের সাথে যুক্ত থাকা ডেভেলপারের অ্যাপের নাম ও ডেভেলপারের ইমেল আইডি পেতে জাভাস্ক্রিপ্ট ব্যবহার করুন:

context.getVariable("oauthv2client.GetClientAttributes.developer.email");
context.getVariable("oauthv2client.GetClientAttributes.developer.app.name");

এলিমেন্ট রেফারেন্স

এলিমেন্ট রেফারেন্সে GetOAuthV2Info নীতির এলিমেন্ট ও অ্যাট্রিবিউট বর্ণনা করা হয়।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="GetOAuthV2Info-1"
    <DisplayName>Get OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref="variable"></AccessToken>
    <AuthorizationCode ref="variable"></AuthorizationCode>
    <ClientId ref="variable"></ClientId>
    <RefreshToken ref="variable"></RefreshToken>
</GetOAuthV2Info>

<GetOAuthV2Info> অ্যাট্রিবিউট

<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Get-OAuth-v20-Info-1">

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

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
name

নীতির অভ্যন্তরীণ নাম। name বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

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

N/A প্রয়োজন
continueOnError

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

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

মিথ্যা ঐচ্ছিক
enabled

নীতি প্রয়োগ করতে true সেট করুন৷

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

সত্য ঐচ্ছিক
async

এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷

মিথ্যা অবচয়

<DisplayName> উপাদান

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

<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট

N/A

আপনি এই উপাদানটি বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হবে।

উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং

<AccessToken> এলিমেন্ট

অ্যাক্সেস টোকেনের জন্য প্রোফাইল রিট্রিভ করে। আপনি এমন একটি ভেরিয়েবেল পাস করেন যাতে অ্যাক্সেস টোকেন স্ট্রিং বা লিটারেল টোকেন স্ট্রিং (বিরল ক্ষেত্রে) থাকে। এই উদাহরণে, অনুরোধে পাস করা কোয়েরি প্যারামিটার থেকে অ্যাক্সেস টোকেন পাওয়া গেছে। আপনি যদি কোনও বাতিল করা বা মেয়াদ শেষ হয়ে যাওয়া টোকেনের তথ্য ফেরত দিতে চান, তাহলে <IgnoreAccessTokenStatus> এলিমেন্ট ব্যবহার করুন।

<AccessToken ref="request.queryparam.access_token"></AccessToken>

ডিফল্ট:

request.formparam.access_token (a x-www-form-urlencoded and specified in the request body)

উপস্থিতি:

ঐচ্ছিক

টাইপ: স্ট্রিং
সঠিক মান:

অ্যাক্সেস টোকেন স্ট্রিং বা লিটেরাল স্ট্রিং সহ ফ্লো ভেরিয়েবল।


<AuthorizationCode> এলিমেন্ট

অনুমোদন কোডের জন্য প্রোফাইল রিট্রিভ করে। আপনি এমন একটি ভেরিয়েবল পাস করেন যাতে অথ কোড স্ট্রিং বা লিটারেল টোকেন স্ট্রিং (বিরল ক্ষেত্রে) থাকে। এই উদাহরণে, অনুরোধে পাস করা কোয়েরি প্যারামিটার থেকে অনুমোদন কোডটি নেওয়া হয়েছে। এই অপারেশন দ্বারা পপুলেট করা ভেরিয়েবলের তালিকার জন্য, "ফ্লো ভেরিয়েবল" দেখুন।

<AuthorizationCode ref="request.queryparam.authorization_code"></AuthorizationCode>

ডিফল্ট:

request.formparam.access_token (a x-www-form-urlencoded and specified in the request body)

উপস্থিতি:

ঐচ্ছিক

টাইপ: স্ট্রিং
সঠিক মান:

ফ্লো ভেরিয়েবেলে অথ কোড স্ট্রিং অথবা লিটেরাল স্ট্রিং থাকতে হবে।

<ClientId> এলিমেন্ট

ক্লায়েন্ট আইডি সম্পর্কিত তথ্য পুনরুদ্ধার করে। এই উদাহরণে, অনুরোধে পাস করা কোয়েরি প্যারামিটার থেকে ক্লায়েন্ট আইডি রিট্রিভ করা হয়। এই অপারেশন দ্বারা পপুলেট করা ভেরিয়েবলের তালিকার জন্য, "ফ্লো ভেরিয়েবল" দেখুন।

<ClientId ref="request.queryparam.client_id"></ClientId>

ডিফল্ট:

request.formparam.access_token (a x-www-form-urlencoded and specified in the request body)

উপস্থিতি:

ঐচ্ছিক

টাইপ: স্ট্রিং
সঠিক মান: ফ্লো ভেরিয়েবেলে অথ কোড স্ট্রিং অথবা লিটেরাল স্ট্রিং থাকতে হবে।

<IgnoreAccessTokenStatus> এলিমেন্ট

টোকেনের মেয়াদ শেষ হয়ে গেলেও বা সেটি প্রত্যাহার করা হলেও টোকেন সংক্রান্ত তথ্য রিটার্ন করে। এই এলিমেন্ট শুধুমাত্র অ্যাক্সেস টোকেনের সাথে ব্যবহার করা যেতে পারে। রিফ্রেশ টোকেন ও অনুমোদন কোডের মতো অন্যান্য এন্টিটির তথ্য তাদের স্ট্যাটাস যাই হোক না কেন, ডিফল্ট হিসেবে ফেরত দেওয়া হয়।

<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

টাইপ: বুলিয়ান
সঠিক মান: সত্য বা মিথ্যা

<RefreshToken> এলিমেন্ট

রিফ্রেশ টোকেনের জন্য প্রোফাইল রিট্রিভ করে। আপনি এমন একটি ভেরিয়েবেল পাস করেন যাতে রিফ্রেশ টোকেন স্ট্রিং বা লিটারেল টোকেন স্ট্রিং (বিরল ক্ষেত্রে) থাকে। এই উদাহরণে, রিফ্রেশ টোকেনটি অনুরোধে পাস করা কোয়েরি প্যারামিটার থেকে পাওয়া গেছে। এই অপারেশন দ্বারা পপুলেট করা ভেরিয়েবলের তালিকার জন্য, "ফ্লো ভেরিয়েবল" দেখুন।

<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>

ডিফল্ট:

request.formparam.access_token (a x-www-form-urlencoded and specified in the request body)

উপস্থিতি:

ঐচ্ছিক

টাইপ: স্ট্রিং
সঠিক মান:

রিফ্রেশ টোকেন স্ট্রিং সহ ফ্লো ভেরিয়েবল বা লিটেরাল স্ট্রিং।

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

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

ক্লায়েন্ট আইডি ভেরিয়েবল

ClientId এলিমেন্ট সেট করা হলে এইসব ভেরিয়েবল অটো-ফিল করা হয়:

oauthv2client.{policy_name}.client_id
oauthv2client.{policy_name}.client_secret
oauthv2client.{policy_name}.redirection_uris // Note the spelling -- 'redirection_uris'
oauthv2client.{policy_name}.developer.email
oauthv2client.{policy_name}.developer.app.name
oauthv2client.{policy_name}.developer.id
oauthv2client.{policy_name}.{developer_app_custom_attribute_name}

অ্যাক্সেস টোকেন ভেরিয়েবল

AccessToken এলিমেন্ট সেট করা হলে এইসব ভেরিয়েবল অটো-ফিল করা হয়:

oauthv2accesstoken.{policy_name}.developer.id
oauthv2accesstoken.{policy_name}.developer.app.name
oauthv2accesstoken.{policy_name}.developer.app.id
oauthv2accesstoken.{policy_name}.developer.email

oauthv2accesstoken.{policy_name}.organization_name
oauthv2accesstoken.{policy_name}.api_product_list

oauthv2accesstoken.{policy_name}.access_token
oauthv2accesstoken.{policy_name}.scope
oauthv2accesstoken.{policy_name}.expires_in //in seconds
oauthv2accesstoken.{policy_name}.status
oauthv2accesstoken.{policy_name}.client_id
oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2accesstoken.{policy_name}.refresh_token
oauthv2accesstoken.{policy_name}.refresh_token_status
oauthv2accesstoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2accesstoken.{policy_name}.refresh_count
oauthv2accesstoken.{policy_name}.refresh_token_issued_at
oauthv2accesstoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

অনুমোদন কোড ভেরিয়েবল

AuthorizationCode এলিমেন্ট সেট করা হলে এইসব ভেরিয়েবল পপুলেট করা হয়:

oauthv2authcode.{policy_name}.code
oauthv2authcode.{policy_name}.scope
oauthv2authcode.{policy_name}.redirect_uri
oauthv2authcode.{policy_name}.client_id
oauthv2authcode.{policy_name}.{auth_code_custom_attribute_name}

রিফ্রেশ টোকেন ভেরিয়েবল

RefreshToken এলিমেন্ট সেট করা হলে এইসব ভেরিয়েবল পপুলেট করা হয়:

oauthv2refreshtoken.{policy_name}.developer.id
oauthv2refreshtoken.{policy_name}.developer.app.name
oauthv2refreshtoken.{policy_name}.developer.app.id
oauthv2refreshtoken.{policy_name}.developer.email
oauthv2refreshtoken.{policy_name}.organization_name
oauthv2refreshtoken.{policy_name}.api_product_list

oauthv2refreshtoken.{policy_name}.access_token
oauthv2refreshtoken.{policy_name}.scope
oauthv2refreshtoken.{policy_name}.expires_in //in seconds

oauthv2refreshtoken.{policy_name}.status
oauthv2refreshtoken.{policy_name}.client_id
oauthv2refreshtoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2refreshtoken.{policy_name}.refresh_token
oauthv2refreshtoken.{policy_name}.refresh_token_status
oauthv2refreshtoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2refreshtoken.{policy_name}.refresh_count
oauthv2refreshtoken.{policy_name}.refresh_token_issued_at
oauthv2refreshtoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

স্কিমা

প্রতিটি নীতির ধরন XML স্কিমা (.xsd) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub-এ উপলভ্য।

সমস্যার রেফারেন্স

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

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

নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷ নীচে দেখানো ত্রুটির নামগুলি হল সেই স্ট্রিংগুলি যা একটি ত্রুটি ঘটলে fault.name ভেরিয়েবলের জন্য নির্ধারিত হয়। আরও বিশদ বিবরণের জন্য নীচের ফল্ট ভেরিয়েবল বিভাগটি দেখুন।

ফল্ট কোড HTTP স্থিতি কারণ
steps.oauth.v2.access_token_expired 500 পলিসিতে পাঠানো অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে।
steps.oauth.v2.authorization_code_expired 500 পলিসিতে পাঠানো অনুমোদন কোডের মেয়াদ শেষ হয়ে গেছে।
steps.oauth.v2.invalid_access_token 500 নীতিতে পাঠানো অ্যাক্সেস টোকেনটি অবৈধ৷
steps.oauth.v2.invalid_client-invalid_client_id 500 পলিসিতে পাঠানো ক্লায়েন্ট আইডিটি অবৈধ।
steps.oauth.v2.invalid_refresh_token 500 নীতিতে পাঠানো রিফ্রেশ টোকেনটি অবৈধ৷
steps.oauth.v2.invalid_request-authorization_code_invalid 500 নীতিতে পাঠানো অনুমোদন কোডটি অবৈধ।
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 এই ত্রুটির সমস্যা সমাধান সম্পর্কে তথ্যের জন্য দয়া করে এই Apigee কমিউনিটি পোস্টটি দেখুন৷
steps.oauth.v2.refresh_token_expired 500 পলিসিতে পাঠানো রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেছে।

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

স্থাপনার ত্রুটি সম্পর্কে তথ্যের জন্য UI এ রিপোর্ট করা বার্তাটি পড়ুন।

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

যখন এই নীতি রানটাইমে একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷

ভেরিয়েবল যেখানে উদাহরণ
fault.name=" fault_name " fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। fault.name Matches "IPDeniedAccess"
oauthV2. policy_name .failed policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। oauthV2.GetTokenInfo.failed = true
oauthV2. policy_name .fault.name policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2. policy_name .fault.cause policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। oauthV2.GetTokenInfo.cause = ClientID is Invalid

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

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

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

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

সম্পর্কিত বিষয়