OAuth V2 নীতি প্রত্যাহার করুন

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

নীতি আইকন

সংক্ষিপ্ত বিবরণ

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

OAuth 2.0 অ্যাক্সেস টোকেন তৈরি করতে OAuthv2 পলিসি ব্যবহার করুন। Apigee দ্বারা তৈরি টোকেনটির ফরম্যাট নিম্নরূপ:

{
  "issued_at" : "1421847736581",
  "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
  "scope" : "READ",
  "status" : "approved",
  "api_product_list" : "[PremiumWeatherAPI]",
  "expires_in" : "3599", //--in seconds
  "developer.email" : "tesla@weathersample.com",
  "organization_id" : "0",
  "token_type" : "BearerToken",
  "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
  "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
  "organization_name" : "myorg",
  "refresh_token_expires_in" : "0", //--in seconds
  "refresh_count" : "0"
}

application_name এলিমেন্টটিতে টোকেনের সাথে যুক্ত ডেভেলপার অ্যাপ আইডি থাকে।

ডিফল্টরূপে, Apigee টোকেনে এন্ড ইউজার আইডি অন্তর্ভুক্ত করে না। আপনি OAuthv2 পলিসিতে <AppEndUser> এলিমেন্টটি যোগ করে Apigee-কে এন্ড ইউজার আইডি অন্তর্ভুক্ত করার জন্য কনফিগার করতে পারেন:

<OAuthV2 name="GenerateAccessTokenClient">
    <Operation>GenerateAccessTokenV/Operation>
    ...
    <AppEndUser>request.queryparam.app_enduser</AppEndUser>
</OAuthV2>

এই উদাহরণে, app_enduser নামের একটি কোয়েরি প্যারামিটারে এন্ড ইউজার আইডিটি OAuthv2 পলিসিতে পাঠান। এরপর এন্ড ইউজার আইডিটি টোকেনের app_enduser এলিমেন্টে অন্তর্ভুক্ত করা হয়:

{
 "issued_at" : "1421847736581",
 "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
 "scope" : "READ",
 "app_enduser" : "6ZG094fgnjNf02EK",
 "status" : "approved",
 "api_product_list" : "[PremiumWeatherAPI]",
 "expires_in" : "3599", //--in seconds
 "developer.email" : "tesla@weathersample.com",
 "organization_id" : "0",
 "token_type" : "BearerToken",
 "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
 "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
 "organization_name" : "myorg",
 "refresh_token_expires_in" : "0", //--in seconds
 "refresh_count" : "0"
}

ডেভেলপার অ্যাপ আইডি দ্বারা প্রত্যাহার করুন

ডেভেলপার অ্যাপ আইডির সাথে যুক্ত OAuth2 অ্যাক্সেস টোকেন বাতিল করুন। Apigee দ্বারা তৈরি সমস্ত OAuth2 অ্যাক্সেস টোকেনে, টোকেনটির সাথে যুক্ত ডেভেলপার অ্যাপের আইডি অন্তর্ভুক্ত থাকে। এরপর আপনি সেই অ্যাপ আইডির উপর ভিত্তি করে টোকেনগুলো বাতিল করতে পারবেন।

অ্যাপ ব্যবহারকারীর আইডি দ্বারা প্রত্যাহার করুন

একটি নির্দিষ্ট অ্যাপ ব্যবহারকারীর আইডির সাথে যুক্ত OAuth2 অ্যাক্সেস টোকেন বাতিল করুন। এটি সেই ব্যবহারকারীর আইডির সাথে যুক্ত টোকেন, যাঁকে টোকেনগুলো ইস্যু করা হয়েছিল।

ডিফল্টরূপে, OAuth অ্যাক্সেস টোকেনে এন্ড ইউজার আইডির জন্য কোনো ফিল্ড থাকে না। এন্ড ইউজার আইডি দ্বারা OAuth 2.0 অ্যাক্সেস টোকেন প্রত্যাহার সক্ষম করতে, আপনাকে উপরে দেখানো পদ্ধতি অনুযায়ী টোকেনে ইউজার আইডি অন্তর্ভুক্ত করার জন্য OAuthv2 পলিসি কনফিগার করতে হবে।

অ্যাপের এন্ড-ইউজার আইডি পেতে, ডেভেলপার অ্যাপস এপিআই (API) ব্যবহার করুন।

নমুনা

নিম্নলিখিত নমুনাগুলিতে OAuth2 অ্যাক্সেস টোকেন বাতিল করার জন্য Revoke OAuth V2 পলিসি ব্যবহার করা হয়েছে।

ডেভেলপার অ্যাপ আইডি

ডেভেলপার অ্যাপ আইডি দ্বারা অ্যাক্সেস টোকেন প্রত্যাহার করতে, আপনার পলিসিতে <AppId> এলিমেন্টটি ব্যবহার করুন।

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

<RevokeOAuthV2 continueOnError="false" enabled="true" name="MyRevokeTokenPolicy">
  <DisplayName>Revoke OAuth v2.0-1</DisplayName>
  <AppId ref="request.queryparam.app_id"></AppId>
</RevokeOAuthV2>

ডেভেলপার অ্যাপের আইডি দেওয়া হলে, পলিসিটি অ্যাক্সেস টোকেনটি বাতিল করে দেয়।

টাইমস্ট্যাম্পের আগে প্রত্যাহার করুন

একটি নির্দিষ্ট তারিখ ও সময়ের আগে তৈরি হওয়া ডেভেলপার অ্যাপ আইডি দ্বারা অ্যাক্সেস টোকেন বাতিল করতে, আপনার পলিসিতে <RevokeBeforeTimestamp> এলিমেন্টটি ব্যবহার করুন। <RevokeBeforeTimestamp> মিলিসেকেন্ডে একটি UTC ইপক টাইম নির্দিষ্ট করে। সেই সময়ের আগে ইস্যু করা সমস্ত টোকেন বাতিল হয়ে যায়।

নিম্নলিখিত উদাহরণটি ১ জুলাই, ২০১৯-এর আগে তৈরি করা একটি ডেভেলপার অ্যাপের অ্যাক্সেস টোকেন বাতিল করে:

<RevokeOAuthV2 continueOnError="false" enabled="true" name="MyRevokeTokenPolicy">
  <DisplayName>Revoke OAuth v2.0-1</DisplayName>
  <AppId ref="request.queryparam.app_id"></AppId>
  <RevokeBeforeTimestamp>1561939200000</RevokeBeforeTimestamp>
</RevokeOAuthV2>

<RevokeBeforeTimestamp> এলিমেন্টটি একটি ৬৪-বিট (লং) পূর্ণসংখ্যা গ্রহণ করে, যা ১ জানুয়ারী, ১৯৭০ UTC-এর মধ্যরাত থেকে অতিবাহিত মিলিসেকেন্ডের সংখ্যা নির্দেশ করে।


উপাদান রেফারেন্স

এলিমেন্ট রেফারেন্সটি RevokeOAuthV2 পলিসির উপাদান এবং অ্যাট্রিবিউটগুলো বর্ণনা করে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RevokeOAuthV2 continueOnError="false" enabled="true" name="GetOAuthV2Info-1">
  <DisplayName>Get OAuth v2.0 Info 1</DisplayName>
  <AppId ref="variable"></AppId>
  <EndUserId ref="variable"></EndUserId>
  <RevokeBeforeTimestamp ref="variable"></RevokeBeforeTimestamp>
  <Cascade>false</Cascade>
</RevokeOAuthV2>

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

<RevokeOAuthV2 continueOnError="false" enabled="true" name="Revoke-OAuth-v20-1">

নিম্নলিখিত সারণিতে এমন বৈশিষ্ট্যগুলি বর্ণনা করা হয়েছে যা সমস্ত পলিসি প্যারেন্ট এলিমেন্টের জন্য সাধারণ:

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

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

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

প্রযোজ্য নয় প্রয়োজনীয়
continueOnError

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

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

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

নীতিটি কার্যকর করতে এটিকে true তে সেট করুন।

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

সত্য ঐচ্ছিক
async

এই অ্যাট্রিবিউটটি অপ্রচলিত।

মিথ্যা অপ্রচলিত

<DisplayName> উপাদান

ম্যানেজমেন্ট UI প্রক্সি এডিটরে পলিসিটিকে একটি ভিন্ন, স্বাভাবিক ভাষার নাম দিয়ে লেবেল করতে name অ্যাট্রিবিউটের পাশাপাশি এটি ব্যবহার করুন।

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

প্রযোজ্য নয়

আপনি যদি এই উপাদানটি বাদ দেন, তাহলে পলিসির ' name অ্যাট্রিবিউটের মান ব্যবহৃত হবে।

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

<AppId> উপাদান

যে টোকেনগুলো বাতিল করতে হবে, সেগুলোর ডেভেলপার অ্যাপ আইডি নির্দিষ্ট করে। অ্যাপ আইডি ধারণকারী একটি ভেরিয়েবল অথবা একটি আক্ষরিক অ্যাপ আইডি পাস করুন।

<AppId>appIdString</AppId>

or:

<AppId ref="request.queryparam.app_id"></AppId>
ডিফল্ট

request.formparam.app_id (একটি x-www-form-urlencoded যা রিকোয়েস্ট বডিতে নির্দিষ্ট করা থাকে)

উপস্থিতি

ঐচ্ছিক

প্রকার স্ট্রিং
বৈধ মান

হয় একটি ফ্লো ভেরিয়েবল যাতে একটি অ্যাপ আইডি স্ট্রিং রয়েছে, অথবা একটি আক্ষরিক স্ট্রিং।

<ক্যাসকেড> উপাদান

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

<Cascade>false<Cascade>
ডিফল্ট

মিথ্যা

উপস্থিতি

ঐচ্ছিক

প্রকার বুলিয়ান
বৈধ মান true বা false

<শেষ ব্যবহারকারীর আইডি> উপাদান

বাতিল করার জন্য টোকেনটির অ্যাপ ব্যবহারকারীর আইডি নির্দিষ্ট করে। ব্যবহারকারী আইডি ধারণকারী একটি ভেরিয়েবল অথবা একটি আক্ষরিক টোকেন স্ট্রিং পাস করুন।

<EndUserId>userIdString</EndUserId>

or:

<EndUserId ref="request.queryparam.access_token"></EndUserId>
ডিফল্ট

request.formparam.enduser_id (একটি x-www-form-urlencoded যা রিকোয়েস্ট বডিতে নির্দিষ্ট করা থাকে)

উপস্থিতি

ঐচ্ছিক

প্রকার স্ট্রিং
বৈধ মান

হয় ইউজার আইডি স্ট্রিং ধারণকারী একটি ফ্লো ভেরিয়েবল, অথবা একটি লিটারাল স্ট্রিং।

<RevokeBeforeTimestamp> উপাদান

টাইমস্ট্যাম্পের আগে ইস্যু করা টোকেনগুলো বাতিল করুন। এই এলিমেন্টটি <AppId> এবং <EndUserId> এর সাথে কাজ করে আপনাকে একটি নির্দিষ্ট সময়ের আগের টোকেন বাতিল করার সুযোগ দেয়। ডিফল্ট মান হলো সেই সময়, যে সময়ে পলিসিটি কার্যকর হয়।

<RevokeBeforeTimestamp>timeStampString</RevokeBeforeTimestamp>

or:

<RevokeBeforeTimestamp ref="request.queryparam.revoke_since_timestamp"></RevokeBeforeTimestamp>
ডিফল্ট

পলিসিটি কার্যকর হওয়ার টাইমস্ট্যাম্প।

উপস্থিতি

ঐচ্ছিক

প্রকার ১ জানুয়ারী, ১৯৭০ ইউটিসি-এর মধ্যরাত থেকে অতিবাহিত মিলিসেকেন্ডের সংখ্যা নির্দেশকারী একটি ৬৪-বিট (দীর্ঘ) পূর্ণসংখ্যা।
বৈধ মান

টাইমস্ট্যাম্প সম্বলিত একটি ফ্লো ভ্যারিয়েবল, অথবা একটি আক্ষরিক টাইমস্ট্যাম্প। টাইমস্ট্যাম্পটি ভবিষ্যতের হতে পারবে না এবং ১ জানুয়ারী, ২০১৪-এর আগের হতে পারবে না।

প্রবাহ পরিবর্তনশীল

RevokeOAuthV2 পলিসি ফ্লো ভেরিয়েবল সেট করে না।

ত্রুটির রেফারেন্স

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

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

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

ত্রুটি কোড HTTP অবস্থা কারণ
steps.oauth.v2.InvalidFutureTimestamp ৫০০ টাইমস্ট্যাম্প ভবিষ্যতে হতে পারবে না।
steps.oauth.v2.InvalidEarlyTimestamp ৫০০ টাইমস্ট্যাম্পটি ১ জানুয়ারী, ২০১৪-এর আগের হতে পারবে না।
steps.oauth.v2.InvalidTimestamp ৫০০ টাইমস্ট্যাম্পটি অবৈধ।
steps.oauth.v2.EmptyAppAndEndUserId ৫০০ AppdId এবং EndUserId উভয়ই খালি থাকতে পারে না।

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

ডেপ্লয়মেন্ট ত্রুটি সম্পর্কে তথ্যের জন্য 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":"Timestamp is in the future.",
      "detail":{
         "errorcode":"steps.oauth.v2.InvalidFutureTimestamp"
      }
   }
}

উদাহরণস্বরূপ ত্রুটি নিয়ম

<FaultRule name="RevokeOAuthV2 Faults">
    <Step>
        <Name>AM-InvalidTimestamp</Name>
    </Step>
    <Condition>(fault.name = "InvalidFutureTimestamp")</Condition>
</FaultRule>

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

,

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

নীতি আইকন

সংক্ষিপ্ত বিবরণ

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

OAuth 2.0 অ্যাক্সেস টোকেন তৈরি করতে OAuthv2 পলিসি ব্যবহার করুন। Apigee দ্বারা তৈরি টোকেনটির ফরম্যাট নিম্নরূপ:

{
  "issued_at" : "1421847736581",
  "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
  "scope" : "READ",
  "status" : "approved",
  "api_product_list" : "[PremiumWeatherAPI]",
  "expires_in" : "3599", //--in seconds
  "developer.email" : "tesla@weathersample.com",
  "organization_id" : "0",
  "token_type" : "BearerToken",
  "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
  "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
  "organization_name" : "myorg",
  "refresh_token_expires_in" : "0", //--in seconds
  "refresh_count" : "0"
}

application_name এলিমেন্টটিতে টোকেনের সাথে যুক্ত ডেভেলপার অ্যাপ আইডি থাকে।

ডিফল্টরূপে, Apigee টোকেনে এন্ড ইউজার আইডি অন্তর্ভুক্ত করে না। আপনি OAuthv2 পলিসিতে <AppEndUser> এলিমেন্টটি যোগ করে Apigee-কে এন্ড ইউজার আইডি অন্তর্ভুক্ত করার জন্য কনফিগার করতে পারেন:

<OAuthV2 name="GenerateAccessTokenClient">
    <Operation>GenerateAccessTokenV/Operation>
    ...
    <AppEndUser>request.queryparam.app_enduser</AppEndUser>
</OAuthV2>

এই উদাহরণে, app_enduser নামের একটি কোয়েরি প্যারামিটারে এন্ড ইউজার আইডিটি OAuthv2 পলিসিতে পাঠান। এরপর এন্ড ইউজার আইডিটি টোকেনের app_enduser এলিমেন্টে অন্তর্ভুক্ত করা হয়:

{
 "issued_at" : "1421847736581",
 "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
 "scope" : "READ",
 "app_enduser" : "6ZG094fgnjNf02EK",
 "status" : "approved",
 "api_product_list" : "[PremiumWeatherAPI]",
 "expires_in" : "3599", //--in seconds
 "developer.email" : "tesla@weathersample.com",
 "organization_id" : "0",
 "token_type" : "BearerToken",
 "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
 "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
 "organization_name" : "myorg",
 "refresh_token_expires_in" : "0", //--in seconds
 "refresh_count" : "0"
}

ডেভেলপার অ্যাপ আইডি দ্বারা প্রত্যাহার করুন

ডেভেলপার অ্যাপ আইডির সাথে যুক্ত OAuth2 অ্যাক্সেস টোকেন বাতিল করুন। Apigee দ্বারা তৈরি সমস্ত OAuth2 অ্যাক্সেস টোকেনে, টোকেনটির সাথে যুক্ত ডেভেলপার অ্যাপের আইডি অন্তর্ভুক্ত থাকে। এরপর আপনি সেই অ্যাপ আইডির উপর ভিত্তি করে টোকেনগুলো বাতিল করতে পারবেন।

অ্যাপ ব্যবহারকারীর আইডি দ্বারা প্রত্যাহার করুন

একটি নির্দিষ্ট অ্যাপ ব্যবহারকারীর আইডির সাথে যুক্ত OAuth2 অ্যাক্সেস টোকেন বাতিল করুন। এটি সেই ব্যবহারকারীর আইডির সাথে যুক্ত টোকেন, যাঁকে টোকেনগুলো ইস্যু করা হয়েছিল।

ডিফল্টরূপে, OAuth অ্যাক্সেস টোকেনে এন্ড ইউজার আইডির জন্য কোনো ফিল্ড থাকে না। এন্ড ইউজার আইডি দ্বারা OAuth 2.0 অ্যাক্সেস টোকেন প্রত্যাহার সক্ষম করতে, আপনাকে উপরে দেখানো পদ্ধতি অনুযায়ী টোকেনে ইউজার আইডি অন্তর্ভুক্ত করার জন্য OAuthv2 পলিসি কনফিগার করতে হবে।

অ্যাপের এন্ড-ইউজার আইডি পেতে, ডেভেলপার অ্যাপস এপিআই (API) ব্যবহার করুন।

নমুনা

নিম্নলিখিত নমুনাগুলিতে OAuth2 অ্যাক্সেস টোকেন বাতিল করার জন্য Revoke OAuth V2 পলিসি ব্যবহার করা হয়েছে।

ডেভেলপার অ্যাপ আইডি

ডেভেলপার অ্যাপ আইডি দ্বারা অ্যাক্সেস টোকেন প্রত্যাহার করতে, আপনার পলিসিতে <AppId> এলিমেন্টটি ব্যবহার করুন।

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

<RevokeOAuthV2 continueOnError="false" enabled="true" name="MyRevokeTokenPolicy">
  <DisplayName>Revoke OAuth v2.0-1</DisplayName>
  <AppId ref="request.queryparam.app_id"></AppId>
</RevokeOAuthV2>

ডেভেলপার অ্যাপের আইডি দেওয়া হলে, পলিসিটি অ্যাক্সেস টোকেনটি বাতিল করে দেয়।

টাইমস্ট্যাম্পের আগে প্রত্যাহার করুন

একটি নির্দিষ্ট তারিখ ও সময়ের আগে তৈরি হওয়া ডেভেলপার অ্যাপ আইডি দ্বারা অ্যাক্সেস টোকেন বাতিল করতে, আপনার পলিসিতে <RevokeBeforeTimestamp> এলিমেন্টটি ব্যবহার করুন। <RevokeBeforeTimestamp> মিলিসেকেন্ডে একটি UTC ইপক টাইম নির্দিষ্ট করে। সেই সময়ের আগে ইস্যু করা সমস্ত টোকেন বাতিল হয়ে যায়।

নিম্নলিখিত উদাহরণটি ১ জুলাই, ২০১৯-এর আগে তৈরি করা একটি ডেভেলপার অ্যাপের অ্যাক্সেস টোকেন বাতিল করে:

<RevokeOAuthV2 continueOnError="false" enabled="true" name="MyRevokeTokenPolicy">
  <DisplayName>Revoke OAuth v2.0-1</DisplayName>
  <AppId ref="request.queryparam.app_id"></AppId>
  <RevokeBeforeTimestamp>1561939200000</RevokeBeforeTimestamp>
</RevokeOAuthV2>

<RevokeBeforeTimestamp> এলিমেন্টটি একটি ৬৪-বিট (লং) পূর্ণসংখ্যা গ্রহণ করে, যা ১ জানুয়ারী, ১৯৭০ UTC-এর মধ্যরাত থেকে অতিবাহিত মিলিসেকেন্ডের সংখ্যা নির্দেশ করে।


উপাদান রেফারেন্স

এলিমেন্ট রেফারেন্সটি RevokeOAuthV2 পলিসির উপাদান এবং অ্যাট্রিবিউটগুলো বর্ণনা করে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RevokeOAuthV2 continueOnError="false" enabled="true" name="GetOAuthV2Info-1">
  <DisplayName>Get OAuth v2.0 Info 1</DisplayName>
  <AppId ref="variable"></AppId>
  <EndUserId ref="variable"></EndUserId>
  <RevokeBeforeTimestamp ref="variable"></RevokeBeforeTimestamp>
  <Cascade>false</Cascade>
</RevokeOAuthV2>

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

<RevokeOAuthV2 continueOnError="false" enabled="true" name="Revoke-OAuth-v20-1">

নিম্নলিখিত সারণিতে এমন বৈশিষ্ট্যগুলি বর্ণনা করা হয়েছে যা সমস্ত পলিসি প্যারেন্ট এলিমেন্টের জন্য সাধারণ:

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

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

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

প্রযোজ্য নয় প্রয়োজনীয়
continueOnError

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

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

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

নীতিটি কার্যকর করতে এটিকে true তে সেট করুন।

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

সত্য ঐচ্ছিক
async

এই অ্যাট্রিবিউটটি অপ্রচলিত।

মিথ্যা অপ্রচলিত

<DisplayName> উপাদান

ম্যানেজমেন্ট UI প্রক্সি এডিটরে পলিসিটিকে একটি ভিন্ন, স্বাভাবিক ভাষার নাম দিয়ে লেবেল করতে name অ্যাট্রিবিউটের পাশাপাশি এটি ব্যবহার করুন।

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

প্রযোজ্য নয়

আপনি যদি এই উপাদানটি বাদ দেন, তাহলে পলিসির ' name অ্যাট্রিবিউটের মান ব্যবহৃত হবে।

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

<AppId> উপাদান

যে টোকেনগুলো বাতিল করতে হবে, সেগুলোর ডেভেলপার অ্যাপ আইডি নির্দিষ্ট করে। অ্যাপ আইডি ধারণকারী একটি ভেরিয়েবল অথবা একটি আক্ষরিক অ্যাপ আইডি পাস করুন।

<AppId>appIdString</AppId>

or:

<AppId ref="request.queryparam.app_id"></AppId>
ডিফল্ট

request.formparam.app_id (একটি x-www-form-urlencoded যা রিকোয়েস্ট বডিতে নির্দিষ্ট করা থাকে)

উপস্থিতি

ঐচ্ছিক

প্রকার স্ট্রিং
বৈধ মান

হয় একটি ফ্লো ভেরিয়েবল যাতে একটি অ্যাপ আইডি স্ট্রিং রয়েছে, অথবা একটি আক্ষরিক স্ট্রিং।

<ক্যাসকেড> উপাদান

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

<Cascade>false<Cascade>
ডিফল্ট

মিথ্যা

উপস্থিতি

ঐচ্ছিক

প্রকার বুলিয়ান
বৈধ মান true বা false

<শেষ ব্যবহারকারীর আইডি> উপাদান

বাতিল করার জন্য টোকেনটির অ্যাপ ব্যবহারকারীর আইডি নির্দিষ্ট করে। ব্যবহারকারী আইডি ধারণকারী একটি ভেরিয়েবল অথবা একটি আক্ষরিক টোকেন স্ট্রিং পাস করুন।

<EndUserId>userIdString</EndUserId>

or:

<EndUserId ref="request.queryparam.access_token"></EndUserId>
ডিফল্ট

request.formparam.enduser_id (একটি x-www-form-urlencoded যা রিকোয়েস্ট বডিতে নির্দিষ্ট করা থাকে)

উপস্থিতি

ঐচ্ছিক

প্রকার স্ট্রিং
বৈধ মান

হয় ইউজার আইডি স্ট্রিং ধারণকারী একটি ফ্লো ভেরিয়েবল, অথবা একটি লিটারাল স্ট্রিং।

<RevokeBeforeTimestamp> উপাদান

টাইমস্ট্যাম্পের আগে ইস্যু করা টোকেনগুলো বাতিল করুন। এই এলিমেন্টটি <AppId> এবং <EndUserId> এর সাথে কাজ করে আপনাকে একটি নির্দিষ্ট সময়ের আগের টোকেন বাতিল করার সুযোগ দেয়। ডিফল্ট মান হলো সেই সময়, যে সময়ে পলিসিটি কার্যকর হয়।

<RevokeBeforeTimestamp>timeStampString</RevokeBeforeTimestamp>

or:

<RevokeBeforeTimestamp ref="request.queryparam.revoke_since_timestamp"></RevokeBeforeTimestamp>
ডিফল্ট

পলিসিটি কার্যকর হওয়ার টাইমস্ট্যাম্প।

উপস্থিতি

ঐচ্ছিক

প্রকার ১ জানুয়ারী, ১৯৭০ ইউটিসি-এর মধ্যরাত থেকে অতিবাহিত মিলিসেকেন্ডের সংখ্যা নির্দেশকারী একটি ৬৪-বিট (দীর্ঘ) পূর্ণসংখ্যা।
বৈধ মান

টাইমস্ট্যাম্প সম্বলিত একটি ফ্লো ভ্যারিয়েবল, অথবা একটি আক্ষরিক টাইমস্ট্যাম্প। টাইমস্ট্যাম্পটি ভবিষ্যতের হতে পারবে না এবং ১ জানুয়ারী, ২০১৪-এর আগের হতে পারবে না।

প্রবাহ পরিবর্তনশীল

RevokeOAuthV2 পলিসি ফ্লো ভেরিয়েবল সেট করে না।

ত্রুটির রেফারেন্স

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

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

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

ত্রুটি কোড HTTP অবস্থা কারণ
steps.oauth.v2.InvalidFutureTimestamp ৫০০ টাইমস্ট্যাম্প ভবিষ্যতে হতে পারবে না।
steps.oauth.v2.InvalidEarlyTimestamp ৫০০ টাইমস্ট্যাম্পটি ১ জানুয়ারী, ২০১৪-এর আগের হতে পারবে না।
steps.oauth.v2.InvalidTimestamp ৫০০ টাইমস্ট্যাম্পটি অবৈধ।
steps.oauth.v2.EmptyAppAndEndUserId ৫০০ AppdId এবং EndUserId উভয়ই খালি থাকতে পারে না।

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

ডেপ্লয়মেন্ট ত্রুটি সম্পর্কে তথ্যের জন্য 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":"Timestamp is in the future.",
      "detail":{
         "errorcode":"steps.oauth.v2.InvalidFutureTimestamp"
      }
   }
}

উদাহরণস্বরূপ ত্রুটি নিয়ম

<FaultRule name="RevokeOAuthV2 Faults">
    <Step>
        <Name>AM-InvalidTimestamp</Name>
    </Step>
    <Condition>(fault.name = "InvalidFutureTimestamp")</Condition>
</FaultRule>

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