আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
কী
নির্দিষ্ট OAuth V2 অথরাইজেশন কোড বা অ্যাক্সেস টোকেন মুছে দেয়।
নমুনা
অ্যাক্সেস টোকেন মুছে দেওয়া
OAuth 2.0 অ্যাক্সেস টোকেন মুছে ফেলার জন্য ব্যবহৃত নীতির একটি উদাহরণ নিচে দেওয়া হল। নিচের উদাহরণটি অনুরোধ মেসেজে মুছে ফেলার জন্য অ্যাক্সেস টোকেনটি খুঁজে পায়। এটি
access_token নামের একটি হেডার খুঁজে দেখে।
<DeleteOAuthV2Info name="DeleteAccessToken">
<AccessToken ref="request.header.access_token"></AccessToken>
</DeleteOAuthV2Info>অনুমোদন কোড মুছে দেওয়া
নিচে OAuth 2.0 অথরাইজেশন কোড মুছে ফেলার জন্য ব্যবহৃত নীতির একটি উদাহরণ দেওয়া হল। নিচে দেওয়া উদাহরণটি
অনুরোধ মেসেজে মুছে ফেলার জন্য অনুমোদন কোড খুঁজে পায়। এটি
code নামের কোয়েরি প্যারামিটার খোঁজে।
<DeleteOAuthV2Info name="DeleteAuthCode">
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
</DeleteOAuthV2Info>এলিমেন্ট রেফারেন্স
DeleteOAuthV2Info নীতির এলিমেন্ট ও অ্যাট্রিবিউট এলিমেন্ট রেফারেন্সে বর্ণনা করা আছে।
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="DeleteOAuthV2Info-1"> <DisplayName>Delete OAuth v2.0 Info 1</DisplayName> <AccessToken ref={some-variable}></AccessToken> <!--<AuthorizationCode ref={some-variable}></AuthorizationCode>--> <Attributes/> </DeleteOAuthV2Info
<DeleteOAuthV2Info> অ্যাট্রিবিউট
<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="Delete-OAuth-v20-Info-1">
| অ্যাট্রিবিউট | বিবরণ | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
| async |
এই সেটিং শুধুমাত্র ইন্টার্নাল অপ্টিমাইজেশনের জন্য ব্যবহার করা হয়। |
মিথ্যা | ঐচ্ছিক |
| continueOnError |
কোনও সমস্যা হলে বেশিরভাগ নীতিতে সমস্যা সংক্রান্ত মেসেজ দেখানো হয়। এই
অ্যাট্রিবিউটকে |
মিথ্যা | ঐচ্ছিক |
| সক্ষমিত | কোনও নীতি প্রয়োগ করা হবে কিনা তা নির্ধারণ করে। false হিসেবে সেট করা থাকলে, কোনও নীতি 'বন্ধ' করা হয় এবং প্রয়োগ করা হয় না (যদিও নীতিটি কোনও ফ্লোয়ের সাথে যুক্ত থাকে)।
|
সত্য | ঐচ্ছিক |
| নাম |
নীতির ইন্টার্নাল নাম। Flow-তে নীতি অ্যাটাচ করার জন্য এই নামটি Step এলিমেন্টে রেফারেন্স করা হয়। মনে রাখবেন: নামের ক্ষেত্রে আপনি যেসব অক্ষর ব্যবহার করতে পারবেন সেগুলি হল:
|
প্রযোজ্য নয় | প্রয়োজনীয় |
<AccessToken> এলিমেন্ট
যে ভেরিয়েবলে মুছে ফেলার অ্যাক্সেস টোকেন আছে সেটি শনাক্ত করে। যেমন, যদি
অ্যাক্সেস টোকেনটি "access_token" নামের কোয়েরি প্যারামিটার হিসেবে অনুরোধ মেসেজের সাথে অ্যাটাচ করা থাকে, তাহলে
request.queryparam.access_token উল্লেখ করুন। আপনি টোকেনকে রেফারেন্স করে এমন যেকোনও সঠিক ভেরিয়েবল ব্যবহার করতে পারবেন।
অথবা, আক্ষরিক টোকেন স্ট্রিং পাস করতে পারে (বিরল ঘটনা)।
<AccessToken ref="request.queryparam.access_token"></AccessToken>
| ডিফল্ট: | প্রযোজ্য নয় |
| উপস্থিতি: | <AccessToken> অথবা <AuthorizationCode>-এর মধ্যে
একটি প্রয়োজন। |
| টাইপ: | স্ট্রিং |
অ্যাট্রিবিউট
| অ্যাট্রিবিউট | বিবরণ | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
| ref |
অ্যাক্সেস টোকেন ভেরিয়েবল। সাধারণত, ফ্লো ভেরিয়েবল থেকে রিট্রিভ করা হয়। যেমন: |
প্রযোজ্য নয় | ঐচ্ছিক |
<AuthorizationCode> এলিমেন্ট
মুছে ফেলার জন্য অনুমোদন কোড যেখানে আছে সেই ভেরিয়েবল শনাক্ত করে। যেমন, যদি
অনুরোধ মেসেজের সাথে "code" নামের কোয়েরি প্যারামিটার হিসেবে অনুমোদনের কোড অ্যাটাচ করা থাকে, তাহলে
request.queryparam.code নির্দিষ্ট করুন। আপনি টোকেনকে রেফারেন্স করে এমন যেকোনও সঠিক ভেরিয়েবল ব্যবহার করতে পারবেন।
অথবা, আক্ষরিক টোকেন স্ট্রিং পাস করতে পারে (বিরল ঘটনা)।
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
| ডিফল্ট: | প্রযোজ্য নয় |
| উপস্থিতি: | <AccessToken> অথবা <AuthorizationCode>-এর মধ্যে
একটি প্রয়োজন। |
| টাইপ: | স্ট্রিং |
অ্যাট্রিবিউট
| অ্যাট্রিবিউট | বিবরণ | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
| ref |
অ্যাক্সেস টোকেন ভেরিয়েবল। সাধারণত, ফ্লো ভেরিয়েবল থেকে রিট্রিভ করা হয়। যেমন: |
প্রযোজ্য নয় | ঐচ্ছিক |
<DisplayName> এলিমেন্ট
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিকে লেবেল করা একটি স্বাভাবিক-ভাষার নাম। এটি বাদ দিলে, নীতির নাম অ্যাট্রিবিউট ব্যবহার করা হয়।
<DisplayName>DeleteOAuthV2Info 1</DisplayName>
| ডিফল্ট: | নীতির name অ্যাট্রিবিউটের ভ্যালু। |
| উপস্থিতি: | ঐচ্ছিক |
| টাইপ: | স্ট্রিং |
সমস্যার রেফারেন্স
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
steps.oauth.v2.invalid_access_token |
401 | নীতিতে পাঠানো অ্যাক্সেস টোকেনটি সঠিক নয়। |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | নীতিতে পাঠানো অনুমোদন কোডটি সঠিক নয়। |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | এই সমস্যার সমাধান সম্পর্কে তথ্য পেতে, এই Apigee কমিউনিটি পোস্ট দেখুন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
ডেপ্লয়মেন্ট সংক্রান্ত সমস্যার ব্যাপারে তথ্য পেতে UI-তে রিপোর্ট করা মেসেজ দেখুন।
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
সমস্যার উত্তরের উদাহরণ
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}ভুল নিয়মের উদাহরণ
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
</Step>
<Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>স্কিমা
প্রতিটি নীতির ধরন XML স্কিমা (.xsd) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা
GitHub-এ উপলভ্য।