আপনি 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 | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট 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 (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>