আপনি 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 | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে | N/A | প্রয়োজন |
continueOnError | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে | মিথ্যা | ঐচ্ছিক |
enabled | নীতি প্রয়োগ করতে নীতি বন্ধ করতে | সত্য | ঐচ্ছিক |
async | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ | মিথ্যা | অবচয় |
<DisplayName> উপাদান
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name
বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।
<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট | N/A আপনি এই উপাদানটি বাদ দিলে, নীতির |
---|---|
উপস্থিতি | ঐচ্ছিক |
টাইপ | স্ট্রিং |
<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 এ উপলব্ধ।
ত্রুটি উল্লেখ
এই বিভাগটি ফল্ট কোড এবং ত্রুটি বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
রানটাইম ত্রুটি
নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷
ফল্ট কোড | 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>