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

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

নীতি আইকন

ওভারভিউ

ডেভেলপার অ্যাপ আইডি বা অ্যাপের শেষ ব্যবহারকারী আইডি বা উভয়ের সাথে যুক্ত 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 নীতি কনফিগার করতে হবে।

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

নমুনা

নিম্নলিখিত নমুনাগুলি OAuth2 অ্যাক্সেস টোকেন প্রত্যাহার করতে 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 যুগের সময় নির্দিষ্ট করে। সেই সময়ের আগে জারি করা সমস্ত টোকেন প্রত্যাহার করা হয়েছে।

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

<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> উপাদানটি 1 জানুয়ারী, 1970 UTC-এ মধ্যরাত থেকে অতিবাহিত মিলিসেকেন্ডের সংখ্যা উপস্থাপন করে একটি 64-বিট (দীর্ঘ) পূর্ণসংখ্যা নেয়।


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

উপাদান রেফারেন্স 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 বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

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

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

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

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

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

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

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

সত্য ঐচ্ছিক
async

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

মিথ্যা অবচয়

<DisplayName> উপাদান

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

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

N/A

আপনি এই উপাদানটি বাদ দিলে, নীতির 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> উপাদান

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

<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>
ডিফল্ট

টাইমস্ট্যাম্প যে নীতি কার্যকর করা হয়।

উপস্থিতি

ঐচ্ছিক

টাইপ 64-বিট (দীর্ঘ) পূর্ণসংখ্যা 1 জানুয়ারী, 1970 UTC-এ মধ্যরাত থেকে মিলিসেকেন্ডের সংখ্যার প্রতিনিধিত্ব করে।
বৈধ মান

হয় একটি টাইমস্ট্যাম্প ধারণকারী একটি প্রবাহ পরিবর্তনশীল, অথবা একটি আক্ষরিক টাইমস্ট্যাম্প৷ টাইমস্ট্যাম্প ভবিষ্যতে হতে পারে না এবং জানুয়ারি 1, 2014 এর আগে হতে পারে না।

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

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

ত্রুটি উল্লেখ

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

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

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

ফল্ট কোড HTTP স্থিতি কারণ
steps.oauth.v2.InvalidFutureTimestamp 500 টাইমস্ট্যাম্প ভবিষ্যতে হতে পারে না।
steps.oauth.v2.InvalidEarlyTimestamp 500 টাইমস্ট্যাম্প জানুয়ারি 1, 2014 এর আগে হতে পারে না।
steps.oauth.v2.InvalidTimestamp 500 টাইমস্ট্যাম্প অবৈধ৷
steps.oauth.v2.EmptyAppAndEndUserId 500 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>

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