আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
কি
অ্যাক্সেস টোকেন, রিফ্রেশ টোকেন, অনুমোদন কোড এবং ক্লায়েন্ট অ্যাপ অ্যাট্রিবিউটের অ্যাট্রিবিউট পায় এবং সেই অ্যাট্রিবিউটের মান দিয়ে ভেরিয়েবল পূরণ করে।
এই নীতিটি তখন কার্যকর যখন আপনাকে টোকেন বা প্রমাণীকরণ কোডের মানের উপর ভিত্তি করে গতিশীল, শর্তসাপেক্ষ আচরণ কনফিগার করতে হবে। যখনই টোকেন যাচাইকরণ ঘটে, তখন ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে টোকেন বৈশিষ্ট্যের মান দিয়ে পূর্ণ হয়। তবে, যেখানে টোকেন যাচাইকরণ ঘটেনি, আপনি এই বৈশিষ্ট্যটি ব্যবহার করে স্পষ্টভাবে টোকেনের বৈশিষ্ট্যের মান দিয়ে ভেরিয়েবলগুলিকে পূর্ণ করতে পারেন। কাস্টমাইজিং টোকেন এবং অনুমোদন কোডগুলিও দেখুন।
এই নীতিতে আপনি যে অ্যাক্সেস টোকেনটি পাস করবেন তা অবশ্যই বৈধ হতে হবে, নাহলে নীতিটি একটি invalid_access_token ত্রুটি দেখাবে।
নমুনা
নিম্নলিখিত নমুনাগুলি OAuth2 ওয়ার্কফ্লোর বিভিন্ন উপাদান সম্পর্কে তথ্য পুনরুদ্ধার করতে এবং তারপর কোডের মধ্যে সেই তথ্য অ্যাক্সেস করতে Get OAuth V2 তথ্য নীতি ব্যবহার করে।
অ্যাক্সেস টোকেন
একটি অ্যাক্সেস টোকেনের রেফারেন্স পেতে, আপনার নীতিতে <AccessToken> উপাদানটি ব্যবহার করুন।
নিম্নলিখিত উদাহরণটি "access_token" নামক একটি কোয়েরি প্যারামিটারে অ্যাক্সেস টোকেন খুঁজে পাওয়ার প্রত্যাশা করে (প্রকৃত বাস্তবায়নের বিবরণ আপনার উপর নির্ভর করে):
<GetOAuthV2Info name="MyTokenAttrsPolicy"> <AccessToken ref="request.queryparam.access_token"></AccessToken> </GetOAuthV2Info>
অ্যাক্সেস টোকেন দেওয়া হলে, নীতিটি টোকেনের প্রোফাইল অনুসন্ধান করে এবং প্রোফাইল ডেটা দিয়ে ভেরিয়েবলের একটি সেট পূরণ করে।
এরপর আপনি জাভাস্ক্রিপ্ট অথবা অন্য কোন উপায়ে ভেরিয়েবল অ্যাক্সেস করতে পারবেন। নিম্নলিখিত উদাহরণটি জাভাস্ক্রিপ্ট ব্যবহার করে অ্যাক্সেস টোকেনের সাথে সম্পর্কিত স্কোপ(গুলি) পুনরুদ্ধার করে:
var scope = context.getVariable('oauthv2accesstoken.MyTokenAttrsPolicy.scope');
মনে রাখবেন যে কোডে ঐ ভেরিয়েবলগুলি অ্যাক্সেস করতে, আপনাকে অবশ্যই তাদের আগে "oauthv2accesstoken" লিখতে হবে। অ্যাক্সেস টোকেনের মাধ্যমে উপলব্ধ ভেরিয়েবলগুলির সম্পূর্ণ তালিকার জন্য, অ্যাক্সেস টোকেন ভেরিয়েবলগুলি দেখুন।
অনুমোদন কোড
অনুমোদন কোড বৈশিষ্ট্য পেতে, আপনার নীতিতে <AuthorizationCode> উপাদানটি ব্যবহার করুন।
নিচের উদাহরণটি "কোড" নামক একটি ফর্ম প্যারামিটারে অ্যাক্সেস টোকেন খুঁজে পাওয়ার প্রত্যাশা করে (প্রকৃত বাস্তবায়নের বিবরণ আপনার উপর নির্ভর করে):
<GetOAuthV2Info name="MyAuthCodeAttrsPolicy"> <AuthorizationCode ref="request.formparam.code"></AuthorizationCode> </GetOAuthV2Info>
প্রমাণীকরণ কোড দেওয়া হলে, নীতিটি কোডের তথ্য অনুসন্ধান করে এবং প্রমাণীকরণ কোড ডেটা দিয়ে ভেরিয়েবলের একটি সেট পূরণ করে।
এরপর আপনি জাভাস্ক্রিপ্ট অথবা অন্য কোন উপায়ে ভেরিয়েবল অ্যাক্সেস করতে পারবেন। নিম্নলিখিত উদাহরণটি জাভাস্ক্রিপ্ট ব্যবহার করে অনুমোদন কোডের সাথে সম্পর্কিত একটি কাস্টম অ্যাট্রিবিউট পুনরুদ্ধার করে:
var attr = context.getVariable(‘oauthv2authcode.MyAuthCodeAttrsPolicy.custom_attribute_name’);
মনে রাখবেন যে কোডে ঐ ভেরিয়েবলগুলি অ্যাক্সেস করার জন্য, আপনাকে অবশ্যই তাদের পূর্বে "oauthv2authcode" লিখতে হবে। auth কোডের মাধ্যমে উপলব্ধ ভেরিয়েবলগুলির সম্পূর্ণ তালিকার জন্য, Authorization code variables দেখুন।
টোকেন রিফ্রেশ করুন
রিফ্রেশ টোকেন অ্যাট্রিবিউট পেতে, আপনার পলিসিতে <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>
আপনি অন্যান্য সকল টোকেন প্রকারের (ক্লায়েন্ট আইডি, অনুমোদন কোড এবং রিফ্রেশ টোকেন) সাথেও এটি করতে পারেন।
ক্লায়েন্ট আইডি
এই উদাহরণে দেখানো হয়েছে কিভাবে ক্লায়েন্ট আইডি ব্যবহার করে ক্লায়েন্ট অ্যাপ সম্পর্কে তথ্য পুনরুদ্ধার করা যায়। কার্যকর করার পর, নীতিটি ক্লায়েন্ট তথ্য সহ ভেরিয়েবলের একটি সেট পূরণ করে। এই ক্ষেত্রে, নীতিটি 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 | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে | N/A | প্রয়োজন |
continueOnError | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে | মিথ্যা | ঐচ্ছিক |
enabled | নীতি প্রয়োগ করতে নীতি বন্ধ করতে | সত্য | ঐচ্ছিক |
async | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ | মিথ্যা | অবচয় |
<DisplayName> উপাদান
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।
<DisplayName>Policy Display Name</DisplayName>
| ডিফল্ট | N/A আপনি এই উপাদানটি বাদ দিলে, নীতির |
|---|---|
| উপস্থিতি | ঐচ্ছিক |
| টাইপ | স্ট্রিং |
<AccessToken> উপাদান
একটি অ্যাক্সেস টোকেনের জন্য প্রোফাইল পুনরুদ্ধার করে। আপনি হয় একটি ভ্যারিয়েবল পাস করেন যাতে অ্যাক্সেস টোকেন স্ট্রিং থাকে অথবা একটি আক্ষরিক টোকেন স্ট্রিং (বিরল ক্ষেত্রে)। এই উদাহরণে, অ্যাক্সেস টোকেনটি একটি অনুরোধে পাস করা একটি কোয়েরি প্যারামিটার থেকে পুনরুদ্ধার করা হয়। যদি আপনি একটি প্রত্যাহার করা বা মেয়াদোত্তীর্ণ টোকেনের তথ্য ফেরত দিতে চান তবে <IgnoreAccessTokenStatus> উপাদানটি ব্যবহার করুন।
<AccessToken ref="request.queryparam.access_token"></AccessToken>
ডিফল্ট: | request.formparam.access_token (একটি x-www-form-urlenকোডেড এবং অনুরোধের বডিতে নির্দিষ্ট করা হয়েছে) |
উপস্থিতি: | ঐচ্ছিক |
| প্রকার: | স্ট্রিং |
| বৈধ মান: | হয় একটি ফ্লো ভেরিয়েবল যাতে একটি অ্যাক্সেস টোকেন স্ট্রিং থাকে, অথবা একটি আক্ষরিক স্ট্রিং। |
<AuthorizationCode> উপাদান
একটি অনুমোদন কোডের জন্য প্রোফাইল পুনরুদ্ধার করে। আপনি হয় একটি ভেরিয়েবল পাস করেন যাতে auth কোড স্ট্রিং থাকে অথবা একটি আক্ষরিক টোকেন স্ট্রিং (বিরল ক্ষেত্রে) থাকে। এই উদাহরণে, একটি অনুরোধে পাস করা একটি কোয়েরি প্যারামিটার থেকে auth কোড পুনরুদ্ধার করা হয়েছে। এই অপারেশন দ্বারা পূর্ণ ভেরিয়েবলের তালিকার জন্য, " ফ্লো ভেরিয়েবল " দেখুন।
<AuthorizationCode ref="request.queryparam.authorization_code"></AuthorizationCode>
ডিফল্ট: | request.formparam.access_token (একটি x-www-form-urlenকোডেড এবং অনুরোধের বডিতে নির্দিষ্ট করা হয়েছে) |
উপস্থিতি: | ঐচ্ছিক |
| প্রকার: | স্ট্রিং |
| বৈধ মান: | হয় একটি ফ্লো ভেরিয়েবল যাতে একটি প্রমাণীকরণ কোড স্ট্রিং থাকে, অথবা একটি আক্ষরিক স্ট্রিং। |
<ClientId> উপাদান
একটি ক্লায়েন্ট আইডি সম্পর্কিত তথ্য পুনরুদ্ধার করে। এই উদাহরণে, ক্লায়েন্ট আইডি একটি অনুরোধে পাস করা একটি কোয়েরি প্যারামিটার থেকে পুনরুদ্ধার করা হয়েছে। এই অপারেশন দ্বারা পূর্ণ ভেরিয়েবলের তালিকার জন্য, " ফ্লো ভেরিয়েবল " দেখুন।
<ClientId ref="request.queryparam.client_id"></ClientId>ডিফল্ট: | request.formparam.access_token (একটি x-www-form-urlenকোডেড এবং অনুরোধের বডিতে নির্দিষ্ট করা হয়েছে) |
উপস্থিতি: | ঐচ্ছিক |
| প্রকার: | স্ট্রিং |
| বৈধ মান: | হয় একটি ফ্লো ভেরিয়েবল যাতে একটি প্রমাণীকরণ কোড স্ট্রিং থাকে, অথবা একটি আক্ষরিক স্ট্রিং। |
<IgnoreAccessTokenStatus> উপাদান
টোকেনের মেয়াদ শেষ হয়ে গেলে বা বাতিল হয়ে গেলেও টোকেনের তথ্য ফেরত দেয়। এই উপাদানটি শুধুমাত্র অ্যাক্সেস টোকেনের সাথে ব্যবহার করা যেতে পারে। রিফ্রেশ টোকেন এবং অনুমোদন কোডের মতো অন্যান্য সত্তার তথ্য ডিফল্টরূপে তাদের স্থিতি নির্বিশেষে ফেরত দেওয়া হয়।
<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>
ডিফল্ট: | মিথ্যা |
উপস্থিতি: | ঐচ্ছিক |
| প্রকার: | বুলিয়ান |
| বৈধ মান: | সত্য অথবা মিথ্যা |
<RefreshToken> উপাদান
একটি রিফ্রেশ টোকেনের জন্য প্রোফাইলটি পুনরুদ্ধার করে। আপনি হয় একটি ভেরিয়েবল পাস করেন যাতে রিফ্রেশ টোকেন স্ট্রিং থাকে অথবা একটি আক্ষরিক টোকেন স্ট্রিং (বিরল ক্ষেত্রে)। এই উদাহরণে, রিফ্রেশ টোকেনটি একটি অনুরোধে পাস করা একটি কোয়েরি প্যারামিটার থেকে পুনরুদ্ধার করা হয়। এই অপারেশন দ্বারা পূর্ণ ভেরিয়েবলের তালিকার জন্য, " ফ্লো ভেরিয়েবল " দেখুন।
<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>
ডিফল্ট: | request.formparam.access_token (একটি x-www-form-urlenকোডেড এবং অনুরোধের বডিতে নির্দিষ্ট করা হয়েছে) |
উপস্থিতি: | ঐচ্ছিক |
| প্রকার: | স্ট্রিং |
| বৈধ মান: | হয় একটি রিফ্রেশ টোকেন স্ট্রিং ধারণকারী একটি ফ্লো ভেরিয়েবল, অথবা একটি আক্ষরিক স্ট্রিং। |
প্রবাহ ভেরিয়েবল
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>