SetOAuthV2Info নীতি

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

কি

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

আপনি শুধুমাত্র কাস্টম বৈশিষ্ট্য যোগ বা সংশোধন করতে পারেন. আপনি সুযোগ, অবস্থা, expires_in, developer_email, client_id, org_name, বা refresh_count এর মত ক্ষেত্র পরিবর্তন করতে এই নীতি ব্যবহার করতে পারবেন না। যদি একটি অ্যাট্রিবিউট আগে থেকেই থাকে, তাহলে এই নীতি এটি আপডেট করে। যদি এটি বিদ্যমান না থাকে, নীতি এটি যোগ করে। উল্লেখিত অ্যাক্সেস টোকেন অবশ্যই বৈধ এবং অনুমোদিত অবস্থায় থাকতে হবে।

নমুনা

মৌলিক উদাহরণ

নীচে একটি OAuth 2.0 অ্যাক্সেস টোকেন আপডেট করার জন্য ব্যবহৃত একটি উদাহরণ নীতি। নীচের উদাহরণটি access_token নামক একটি ক্যোয়ারী প্যারামিটার অনুসন্ধান করে অনুরোধ বার্তায় অ্যাক্সেস টোকেন সনাক্ত করে। যখন একটি ক্লায়েন্ট অ্যাপ দ্বারা একটি অ্যাক্সেস টোকেন উপস্থাপন করা হয়, তখন নীচের নীতিটি ক্যোয়ারী প্যারামিটারে অ্যাক্সেস টোকেনটি সনাক্ত করবে৷ এটি তারপর অ্যাক্সেস টোকেনের প্রোফাইল আপডেট করবে। এটি প্রোফাইলে department.id নামে একটি কাস্টম সম্পত্তি যুক্ত করে।

<SetOAuthV2Info name="SetOAuthV2Info"> 
  <AccessToken ref="request.queryparam.access_token"></AccessToken>
  <Attributes>
    <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute>
  </Attributes>
</SetOAuthV2Info>

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

উপাদান রেফারেন্স SetOAuthV2 নীতির উপাদান এবং বৈশিষ্ট্য বর্ণনা করে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="SetOAuthV2Info-1">    
    <DisplayName>Set OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref={some-variable}></AccessToken>
    <Attributes/>
</SetOAuthV2Info>
</xml>

<SetOAuthV2Info> বৈশিষ্ট্য

<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Set-OAuth-v20-Info-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 বৈশিষ্ট্যের মান ব্যবহার করা হবে।

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

<AccessToken> উপাদান

অ্যাক্সেস টোকেন যেখানে অবস্থিত সেখানে ভেরিয়েবল সনাক্ত করে। উদাহরণস্বরূপ, যদি অ্যাক্সেস টোকেনটি অনুরোধ বার্তার সাথে একটি ক্যোয়ারী প্যারামিটার হিসাবে সংযুক্ত থাকে, তাহলে request.queryparam.access_token নির্দিষ্ট করুন। আপনি টোকেন উল্লেখ করে এমন কোনো বৈধ ভেরিয়েবল ব্যবহার করতে পারেন। অথবা, আক্ষরিক টোকেন স্ট্রিং (বিরল ক্ষেত্রে) পাস করতে পারে।

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
ডিফল্ট: N/A
উপস্থিতি: প্রয়োজন
প্রকার: স্ট্রিং

গুণাবলী

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

একটি অ্যাক্সেস টোকেন পরিবর্তনশীল. সাধারণত, একটি ফ্লো ভেরিয়েবল থেকে পুনরুদ্ধার করা হয়।

N/A ঐচ্ছিক

<বিশিষ্ট> উপাদান

অ্যাক্সেস টোকেন প্রোফাইলে বৈশিষ্ট্যগুলির একটি সেট যা পরিবর্তিত বা পরিবর্ধিত হবে৷

ডিফল্ট: N/A
উপস্থিতি: প্রয়োজন
প্রকার: N/A

<অ্যাট্রিবিউট>/<অ্যাট্রিবিউট> উপাদান

আপডেট করার জন্য একটি পৃথক বৈশিষ্ট্য।

নামের বৈশিষ্ট্যটি আপডেট করার জন্য অ্যাক্সেস টোকেন প্রোফাইলের কাস্টম বৈশিষ্ট্য সনাক্ত করে। এই উদাহরণটি দেখায় কিভাবে একটি রেফারেন্স ভেরিয়েবল মান এবং একটি স্ট্যাটিক মান ব্যবহার করতে হয়।

  <Attributes>
    <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute>
    <Attribute name="foo">bar</Attribute>
  </Attributes>
ডিফল্ট: N/A
উপস্থিতি: ঐচ্ছিক
প্রকার: N/A

গুণাবলী

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
নাম যোগ বা পরিবর্তন করার জন্য প্রোফাইল অ্যাট্রিবিউটের নাম। N/A
রেফ

প্রোফাইল অ্যাট্রিবিউটে বরাদ্দ করার মান।

N/A ঐচ্ছিক

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

সাফল্যের উপর, নিম্নলিখিত প্রবাহ ভেরিয়েবল সেট করা হবে:

  • oauthv2accesstoken.{policyName}.access_token
  • oauthv2accesstoken.{policyName}.client_id
  • oauthv2accesstoken.{policyName}.refresh_count
  • oauthv2accesstoken.{policyName}.organization_name
  • oauthv2accesstoken.{policyName}.expires_in //--in seconds
  • oauthv2accesstoken.{policyName}.refresh_token_expires_in //--in seconds
  • oauthv2accesstoken.{policyName}.issued_at
  • oauthv2accesstoken.{policyName}.status
  • oauthv2accesstoken.{policyName}.api_product_list
  • oauthv2accesstoken.{policyName}.token_type
  • oauthv2accesstoken.{policyName}.{custom_attribute_name}

স্কিমা

প্রতিটি নীতির ধরন একটি XML স্কিমা ( .xsd ) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub এ উপলব্ধ।

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

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

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

নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে।

ফল্ট কোড HTTP অবস্থা কারণ
steps.oauth.v2.access_token_expired ৫০০ নীতিমালায় পাঠানো অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে।
steps.oauth.v2.invalid_access_token ৫০০ নীতিমালায় পাঠানো অ্যাক্সেস টোকেনটি অবৈধ।
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound ৪০১ এই ত্রুটির সমস্যা সমাধানের তথ্যের জন্য অনুগ্রহ করে এই Apigee কমিউনিটি পোস্টটি দেখুন।

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

স্থাপনার ত্রুটি সম্পর্কে তথ্যের জন্য UI-তে রিপোর্ট করা বার্তাটি দেখুন।

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

রানটাইমের সময় এই নীতি যখন কোনও ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়।

ভেরিয়েবল কোথায় উদাহরণ
fault.name=" fault_name " fault_name হলো ফল্টের নাম, যা উপরের রানটাইম এরর টেবিলে তালিকাভুক্ত। ফল্টের নাম হলো ফল্ট কোডের শেষ অংশ। fault.name = "invalid_access_token"
oauthV2. policy_name .failed policy_name হল ব্যবহারকারী-নির্দিষ্ট নীতির নাম যা ত্রুটিটি ছুঁড়ে ফেলেছে। oauthV2.SetTokenInfo.failed = true
oauthV2. policy_name .fault.name policy_name হল ব্যবহারকারী-নির্দিষ্ট নীতির নাম যা ত্রুটিটি ছুঁড়ে ফেলেছে। oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2. policy_name .fault.cause policy_name হল ব্যবহারকারী-নির্দিষ্ট নীতির নাম যা ত্রুটিটি ছুঁড়ে ফেলেছে। oauthV2.SetTokenInfo.cause = Invalid Access Token

ত্রুটির প্রতিক্রিয়ার উদাহরণ

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

উদাহরণ ফল্ট নিয়ম

<FaultRule name=SetOAuthV2Info Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

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