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>
ডিফল্ট: প্রযোজ্য নয়
উপস্থিতি: প্রয়োজনীয়
টাইপ: স্ট্রিং

অ্যাট্রিবিউট

অ্যাট্রিবিউট বিবরণ ডিফল্ট উপস্থিতি
ref

অ্যাক্সেস টোকেন ভেরিয়েবল। সাধারণত, ফ্লো ভেরিয়েবল থেকে রিট্রিভ করা হয়।

প্রযোজ্য নয় ঐচ্ছিক

<Attributes> এলিমেন্ট

অ্যাক্সেস টোকেন প্রোফাইলে অ্যাট্রিবিউটের একটি সেট যা পরিবর্তন বা বৃদ্ধি করা হবে।

ডিফল্ট: প্রযোজ্য নয়
উপস্থিতি: প্রয়োজনীয়
টাইপ: প্রযোজ্য নয়

<Attributes>/<Attribute> এলিমেন্ট

আপডেট করার জন্য একটি স্বতন্ত্র অ্যাট্রিবিউট।

নাম অ্যাট্রিবিউট, আপডেট করা অ্যাক্সেস টোকেন প্রোফাইলের কাস্টম প্রপার্টিকে শনাক্ত করে। এই উদাহরণে কীভাবে রেফারেন্স করা ভেরিয়েবল ভ্যালু ও স্ট্যাটিক ভ্যালু ব্যবহার করতে হয় তা দেখানো হয়েছে।

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

অ্যাট্রিবিউট

অ্যাট্রিবিউট বিবরণ ডিফল্ট উপস্থিতি
নাম যোগ বা পরিবর্তন করার জন্য প্রোফাইল অ্যাট্রিবিউটের নাম। প্রযোজ্য নয়
ref

প্রোফাইল অ্যাট্রিবিউটে অ্যাসাইন করার ভ্যালু।

প্রযোজ্য নয় ঐচ্ছিক

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

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

  • 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 500 নীতিতে পাঠানো অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে।
steps.oauth.v2.invalid_access_token 500 নীতিতে পাঠানো অ্যাক্সেস টোকেনটি সঠিক নয়।
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.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>

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