GetOAuthV2Info নীতি

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

কি

অ্যাক্সেস টোকেন, রিফ্রেশ টোকেন, অনুমোদন কোড এবং ক্লায়েন্ট অ্যাপ অ্যাট্রিবিউটের অ্যাট্রিবিউটগুলি পায় এবং সেই অ্যাট্রিবিউটগুলির মানগুলির সাথে ভেরিয়েবলগুলিকে পপুলেট করে৷

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

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

নমুনা

নিম্নলিখিত নমুনাগুলি OAuth2 কর্মপ্রবাহের বিভিন্ন উপাদান সম্পর্কে তথ্য পুনরুদ্ধার করতে এবং তারপর কোডের মধ্যে সেই তথ্য অ্যাক্সেস করতে OAuth V2 তথ্য পান নীতি ব্যবহার করে৷

অ্যাক্সেস টোকেন

একটি অ্যাক্সেস টোকেনের একটি রেফারেন্স পেতে, আপনার নীতিতে <AccessToken> উপাদান ব্যবহার করুন।

নিম্নলিখিত উদাহরণটি "access_token" নামের একটি ক্যোয়ারী প্যারামিটারে অ্যাক্সেস টোকেন খুঁজে পাওয়ার আশা করে (প্রকৃত বাস্তবায়নের বিবরণ আপনার উপর নির্ভর করে):

<GetOAuthV2Info name="MyTokenAttrsPolicy">
  <AccessToken ref="request.queryparam.access_token"></AccessToken>
</GetOAuthV2Info>

অ্যাক্সেস টোকেন দেওয়া হলে, নীতি টোকেনের প্রোফাইল দেখে এবং প্রোফাইল ডেটা সহ ভেরিয়েবলের একটি সেট তৈরি করে।

তারপর আপনি JavaScript বা অন্য উপায় ব্যবহার করে ভেরিয়েবল অ্যাক্সেস করতে পারেন। নিম্নলিখিত উদাহরণটি জাভাস্ক্রিপ্ট ব্যবহার করে অ্যাক্সেস টোকেনের সাথে যুক্ত সুযোগ(গুলি) পুনরুদ্ধার করে:

var scope = context.getVariable('oauthv2accesstoken.MyTokenAttrsPolicy.scope');

নোট করুন যে কোডে এই ভেরিয়েবলগুলি অ্যাক্সেস করতে, আপনাকে অবশ্যই তাদের "oauthv2accesstoken" দিয়ে উপসর্গ করতে হবে। অ্যাক্সেস টোকেনের মাধ্যমে উপলব্ধ ভেরিয়েবলের সম্পূর্ণ তালিকার জন্য, অ্যাক্সেস টোকেন ভেরিয়েবল দেখুন।

প্রমাণীকরণ কোড

অনুমোদন কোড বৈশিষ্ট্য পেতে, আপনার নীতিতে <AuthorizationCode> উপাদান ব্যবহার করুন।

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

<GetOAuthV2Info name="MyAuthCodeAttrsPolicy">
  <AuthorizationCode ref="request.formparam.code"></AuthorizationCode>
</GetOAuthV2Info>

প্রমাণীকরণ কোড দেওয়া, নীতি কোডের তথ্য খোঁজে এবং প্রমাণীকরণ কোড ডেটা সহ ভেরিয়েবলের একটি সেট তৈরি করে।

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

var attr = context.getVariable(oauthv2authcode.MyAuthCodeAttrsPolicy.custom_attribute_name);

নোট করুন যে কোডে এই ভেরিয়েবলগুলি অ্যাক্সেস করতে, আপনাকে অবশ্যই তাদের "oauthv2authcode" দিয়ে উপসর্গ করতে হবে। প্রমাণীকরণ কোডের মাধ্যমে উপলব্ধ ভেরিয়েবলের সম্পূর্ণ তালিকার জন্য, অনুমোদন কোড ভেরিয়েবল দেখুন।

টোকেন রিফ্রেশ করুন

রিফ্রেশ টোকেন অ্যাট্রিবিউট পেতে, আপনার নীতিতে <RefreshToken> উপাদান ব্যবহার করুন।

নিম্নলিখিত উদাহরণটি "refresh_token" নামের একটি ক্যোয়ারী প্যারামিটারে অ্যাক্সেস টোকেন খুঁজে পাওয়ার আশা করে (প্রকৃত বাস্তবায়নের বিবরণ আপনার উপর নির্ভর করে):

<GetOAuthV2Info name="MyRefreshTokenAttrsPolicy">
  <RefreshToken ref="request.queryparam.refresh_token"/>
</GetOAuthV2Info>

রিফ্রেশ টোকেন দেওয়া হলে, পলিসি রিফ্রেশ টোকেনের তথ্য খোঁজে এবং রিফ্রেশ টোকেন ডেটা সহ ভেরিয়েবলের একটি সেট তৈরি করে।

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

var attr = context.getVariable(oauthv2refreshtoken.MyRefreshTokenAttrsPolicy.accesstoken.custom_attribute_name);

নোট করুন যে কোডে ভেরিয়েবলগুলি অ্যাক্সেস করতে, আপনাকে অবশ্যই তাদের "oauthv2refreshtoken" দিয়ে উপসর্গ করতে হবে। রিফ্রেশ টোকেনের মাধ্যমে উপলব্ধ ভেরিয়েবলের সম্পূর্ণ তালিকার জন্য, রিফ্রেশ টোকেন ভেরিয়েবল দেখুন।

স্থির

কিছু বিরল ক্ষেত্রে আপনাকে স্ট্যাটিকালি কনফিগার করা টোকেনের প্রোফাইল পেতে হতে পারে (যেটি একটি পরিবর্তনশীলের মাধ্যমে অ্যাক্সেসযোগ্য নয়)। আপনি একটি উপাদান হিসাবে অ্যাক্সেস টোকেনের মান প্রদান করে এটি করতে পারেন।

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken>shTUmeI1geSKin0TODcGLXBNe9vp</AccessToken>
</GetOAuthV2Info>

আপনি অন্যান্য সমস্ত টোকেন প্রকারের (ক্লায়েন্ট আইডি, অনুমোদন কোড এবং রিফ্রেশ টোকেন) এর সাথেও এটি করতে পারেন।

ক্লায়েন্ট আইডি

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

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId ref="request.queryparam.client_id"></ClientId>
</GetOAuthV2Info>

তারপর আপনি JavaScript বা অন্য উপায় ব্যবহার করে ভেরিয়েবল অ্যাক্সেস করতে পারেন। উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট ব্যবহার করে ক্লায়েন্ট অ্যাপের সাথে যুক্ত ডেভেলপার অ্যাপের নাম এবং ডেভেলপার ইমেল পেতে:

context.getVariable("oauthv2client.GetClientAttributes.developer.email");
context.getVariable("oauthv2client.GetClientAttributes.developer.app.name");

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

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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="GetOAuthV2Info-1"
    <DisplayName>Get OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref="variable"></AccessToken>
    <AuthorizationCode ref="variable"></AuthorizationCode>
    <ClientId ref="variable"></ClientId>
    <RefreshToken ref="variable"></RefreshToken>
</GetOAuthV2Info>

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

<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Get-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> উপাদান

একটি অ্যাক্সেস টোকেনের জন্য প্রোফাইল পুনরুদ্ধার করে। আপনি একটি পরিবর্তনশীল যা অ্যাক্সেস টোকেন স্ট্রিং বা একটি আক্ষরিক টোকেন স্ট্রিং (বিরল ক্ষেত্রে) ধারণ করে পাস করুন। এই উদাহরণে, একটি অনুরোধে পাস করা একটি ক্যোয়ারী প্যারামিটার থেকে অ্যাক্সেস টোকেনটি পুনরুদ্ধার করা হয়। আপনি যদি প্রত্যাহার করা বা মেয়াদোত্তীর্ণ টোকেনের তথ্য ফেরত দিতে চান তাহলে <IgnoreAccessTokenStatus> উপাদানটি ব্যবহার করুন।

<AccessToken ref="request.queryparam.access_token"></AccessToken>

ডিফল্ট:

request.formparam.access_token (একটি x-www-form-urlencoded এবং অনুরোধের বডিতে উল্লেখ করা হয়েছে)

উপস্থিতি:

ঐচ্ছিক

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

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


<AuthorizationCode> উপাদান

একটি অনুমোদন কোডের জন্য প্রোফাইল পুনরুদ্ধার করে। আপনি একটি ভেরিয়েবল পাস করেন যেটিতে প্রমাণীকরণ কোড স্ট্রিং বা একটি আক্ষরিক টোকেন স্ট্রিং রয়েছে (বিরল ক্ষেত্রে)। এই উদাহরণে, একটি অনুরোধে পাস করা একটি ক্যোয়ারী প্যারামিটার থেকে প্রমাণীকরণ কোডটি পুনরুদ্ধার করা হয়। এই ক্রিয়াকলাপ দ্বারা জনবহুল ভেরিয়েবলের তালিকার জন্য, " ফ্লো ভেরিয়েবল " দেখুন৷

<AuthorizationCode ref="request.queryparam.authorization_code"></AuthorizationCode>

ডিফল্ট:

request.formparam.access_token (একটি x-www-form-urlencoded এবং অনুরোধের বডিতে উল্লেখ করা হয়েছে)

উপস্থিতি:

ঐচ্ছিক

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

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

<ClientId> উপাদান

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

<ClientId ref="request.queryparam.client_id"></ClientId>

ডিফল্ট:

request.formparam.access_token (একটি x-www-form-urlencoded এবং অনুরোধের বডিতে উল্লেখ করা হয়েছে)

উপস্থিতি:

ঐচ্ছিক

প্রকার: স্ট্রিং
বৈধ মান: হয় একটি ফ্লো ভেরিয়েবল যাতে একটি প্রমাণীকরণ কোড স্ট্রিং, অথবা একটি আক্ষরিক স্ট্রিং।

<EgnoreAccessTokenStatus> উপাদান

টোকেনের মেয়াদ শেষ বা প্রত্যাহার করা হলেও টোকেন তথ্য ফেরত দেয়। এই উপাদান শুধুমাত্র অ্যাক্সেস টোকেন ব্যবহার করা যেতে পারে. রিফ্রেশ টোকেন এবং অনুমোদন কোডের মতো অন্যান্য সত্তার জন্য তথ্য ডিফল্টরূপে তাদের অবস্থা নির্বিশেষে ফেরত দেওয়া হয়।

<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার: বুলিয়ান
বৈধ মান: সত্য বা মিথ্যা

<রিফ্রেশটোকেন> উপাদান

একটি রিফ্রেশ টোকেনের জন্য প্রোফাইল পুনরুদ্ধার করে৷ আপনি একটি পরিবর্তনশীল যা রিফ্রেশ টোকেন স্ট্রিং বা একটি আক্ষরিক টোকেন স্ট্রিং (বিরল ক্ষেত্রে) ধারণ করে পাস করুন। এই উদাহরণে, রিফ্রেশ টোকেন একটি অনুরোধে পাস করা একটি ক্যোয়ারী প্যারামিটার থেকে পুনরুদ্ধার করা হয়। এই ক্রিয়াকলাপ দ্বারা জনবহুল ভেরিয়েবলের তালিকার জন্য, " ফ্লো ভেরিয়েবল " দেখুন৷

<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>

ডিফল্ট:

request.formparam.access_token (একটি x-www-form-urlencoded এবং অনুরোধের বডিতে উল্লেখ করা হয়েছে)

উপস্থিতি:

ঐচ্ছিক

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

হয় একটি রিফ্রেশ টোকেন স্ট্রিং সহ একটি ফ্লো ভেরিয়েবল, অথবা একটি আক্ষরিক স্ট্রিং৷

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

GetOAuthV2Info নীতি এই ভেরিয়েবলগুলিকে পূর্ণ করে, এবং সাধারণত এমন ক্ষেত্রে ব্যবহার করা হয় যেখানে আপনার প্রোফাইল ডেটার প্রয়োজন হয়, কিন্তু যেখানে একটি অনুদান বা বৈধতা এখনও ঘটেনি৷ .

ক্লায়েন্ট আইডি ভেরিয়েবল

যখন ClientId উপাদান সেট করা হয় তখন এই ভেরিয়েবলগুলি পপুলেট হয়:

oauthv2client.{policy_name}.client_id
oauthv2client.{policy_name}.client_secret
oauthv2client.{policy_name}.redirection_uris // Note the spelling -- 'redirection_uris'
oauthv2client.{policy_name}.developer.email
oauthv2client.{policy_name}.developer.app.name
oauthv2client.{policy_name}.developer.id
oauthv2client.{policy_name}.{developer_app_custom_attribute_name}

টোকেন ভেরিয়েবল অ্যাক্সেস করুন

যখন AccessToken উপাদান সেট করা হয় তখন এই ভেরিয়েবলগুলি পপুলেট হয়:

oauthv2accesstoken.{policy_name}.developer.id
oauthv2accesstoken.{policy_name}.developer.app.name
oauthv2accesstoken.{policy_name}.developer.app.id
oauthv2accesstoken.{policy_name}.developer.email

oauthv2accesstoken.{policy_name}.organization_name
oauthv2accesstoken.{policy_name}.api_product_list

oauthv2accesstoken.{policy_name}.access_token
oauthv2accesstoken.{policy_name}.scope
oauthv2accesstoken.{policy_name}.expires_in //in seconds
oauthv2accesstoken.{policy_name}.status
oauthv2accesstoken.{policy_name}.client_id
oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2accesstoken.{policy_name}.refresh_token
oauthv2accesstoken.{policy_name}.refresh_token_status
oauthv2accesstoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2accesstoken.{policy_name}.refresh_count
oauthv2accesstoken.{policy_name}.refresh_token_issued_at
oauthv2accesstoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

অনুমোদন কোড ভেরিয়েবল

যখন AuthorizationCode উপাদান সেট করা হয় তখন এই ভেরিয়েবলগুলি পপুলেট হয়:

oauthv2authcode.{policy_name}.code
oauthv2authcode.{policy_name}.scope       
oauthv2authcode.{policy_name}.redirect_uri 
oauthv2authcode.{policy_name}.client_id
oauthv2authcode.{policy_name}.{auth_code_custom_attribute_name}

টোকেন ভেরিয়েবল রিফ্রেশ করুন

RefreshToken উপাদান সেট করা হলে এই ভেরিয়েবলগুলি পপুলেট করা হয়:

oauthv2refreshtoken.{policy_name}.developer.id
oauthv2refreshtoken.{policy_name}.developer.app.name
oauthv2refreshtoken.{policy_name}.developer.app.id
oauthv2refreshtoken.{policy_name}.developer.email
oauthv2refreshtoken.{policy_name}.organization_name
oauthv2refreshtoken.{policy_name}.api_product_list

oauthv2refreshtoken.{policy_name}.access_token
oauthv2refreshtoken.{policy_name}.scope
oauthv2refreshtoken.{policy_name}.expires_in //in seconds

oauthv2refreshtoken.{policy_name}.status
oauthv2refreshtoken.{policy_name}.client_id
oauthv2refreshtoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2refreshtoken.{policy_name}.refresh_token
oauthv2refreshtoken.{policy_name}.refresh_token_status
oauthv2refreshtoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2refreshtoken.{policy_name}.refresh_count
oauthv2refreshtoken.{policy_name}.refresh_token_issued_at
oauthv2refreshtoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

স্কিমা

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

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

This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

These errors can occur when the policy executes. The error names shown below are the strings that are assigned to the fault.name variable when an error occurs. See the Fault variables section below for more details.

Fault code HTTP status Cause
steps.oauth.v2.access_token_expired 500 The access token sent to the policy is expired.
steps.oauth.v2.authorization_code_expired 500 The authorization code sent to the policy is expired.
steps.oauth.v2.invalid_access_token 500 The access token sent to the policy is invalid.
steps.oauth.v2.invalid_client-invalid_client_id 500 The client ID sent to the policy is invalid.
steps.oauth.v2.invalid_refresh_token 500 The refresh token sent to the policy is invalid.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 The authorization code sent to the policy is invalid.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Please see this Apigee Community post for information about troubleshooting this error.
steps.oauth.v2.refresh_token_expired 500 The refresh token sent to the policy is expired.

Deployment errors

Refer to the message reported in the UI for information about deployment errors.

Fault variables

These variables are set when this policy triggers an error at runtime.

Variables Where Example
fault.name="fault_name" fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name is the user-specified name of the policy that threw the fault. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name is the user-specified name of the policy that threw the fault. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name is the user-specified name of the policy that threw the fault. oauthV2.GetTokenInfo.cause = ClientID is Invalid

Example error response

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

Example fault rule

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

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