شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
نمای کلی
توکنهای دسترسی OAuth2 مرتبط با شناسه برنامه توسعهدهنده یا شناسه کاربر نهایی برنامه یا هر دو را لغو میکند.
از سیاست OAuthv2 برای تولید یک توکن دسترسی OAuth 2.0 استفاده کنید. یک توکن تولید شده توسط 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 شناسه کاربر نهایی را در توکن قرار نمیدهد. میتوانید Apigee را طوری پیکربندی کنید که با اضافه کردن عنصر <AppEndUser> به سیاست OAuthv2، شناسه کاربر نهایی را نیز در توکن قرار دهد:
<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 مرتبط با شناسه برنامه توسعهدهنده را لغو کنید. تمام توکنهای دسترسی OAuth2 تولید شده توسط Apigee شامل شناسه برنامه توسعهدهنده مرتبط با توکن هستند. سپس میتوانید توکنها را بر اساس آن شناسه برنامه لغو کنید.
از API برنامههای توسعهدهندگان برای دریافت فهرستی از شناسههای برنامه برای یک توسعهدهنده خاص استفاده کنید.
همچنین میتوانید از API برنامههای توسعهدهندگان برای دریافت جزئیات مربوط به یک برنامه استفاده کنید.
لغو توسط شناسه کاربر نهایی برنامه
توکنهای دسترسی OAuth2 مرتبط با شناسهی کاربر نهایی یک برنامهی خاص را لغو کنید. این توکن، توکنی است که با شناسهی کاربری که توکنها به او صادر شدهاند، مرتبط است.
به طور پیشفرض، هیچ فیلدی برای شناسه کاربر نهایی در توکن دسترسی OAuth وجود ندارد. برای فعال کردن لغو توکنهای دسترسی OAuth 2.0 بر اساس شناسه کاربر نهایی، باید سیاست OAuthv2 را طوری پیکربندی کنید که شناسه کاربر را در توکن، همانطور که در بالا نشان داده شده است، لحاظ کند.
برای دریافت شناسه کاربر نهایی برنامه، از رابط برنامهنویسی کاربردی برنامههای توسعهدهنده (Developer apps API) استفاده کنید.
نمونهها
نمونههای زیر از سیاست لغو OAuth V2 برای لغو توکنهای دسترسی OAuth2 استفاده میکنند.
شناسه برنامه توسعهدهنده
برای لغو توکنهای دسترسی بر اساس شناسه برنامه توسعهدهنده، از عنصر <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 را بر حسب میلیثانیه مشخص میکند. تمام توکنهای صادر شده قبل از آن زمان لغو میشوند.
مثال زیر توکنهای دسترسی را برای یک برنامه توسعهدهنده که قبل از ۱ جولای ۲۰۱۹ ایجاد شده است، لغو میکند:
<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> یک عدد صحیح ۶۴ بیتی (طولانی) میگیرد که نشان دهنده تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی است.
مرجع عنصر
مرجع عنصر، عناصر و ویژگیهای سیاست 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 | نام داخلی سیاست. مقدار ویژگی در صورت تمایل، از عنصر | ناموجود | مورد نیاز |
continueOnError | برای بازگرداندن خطا در صورت عدم موفقیت یک سیاست، روی برای ادامه اجرای جریان حتی پس از شکست یک سیاست، روی | نادرست | اختیاری |
enabled | برای اعمال سیاست، روی برای غیرفعال کردن این سیاست، آن را روی | درست | اختیاری |
async | این ویژگی منسوخ شده است. | نادرست | منسوخ شده |
عنصر <DisplayName>
علاوه بر ویژگی name ، از این ویژگی برای برچسبگذاری سیاست در ویرایشگر پروکسی رابط کاربری مدیریت با یک نام متفاوت به زبان طبیعی استفاده کنید.
<DisplayName>Policy Display Name</DisplayName>
| پیشفرض | ناموجود اگر این عنصر را حذف کنید، از مقدار ویژگی |
|---|---|
| حضور | اختیاری |
| نوع | رشته |
عنصر <AppId>
شناسه برنامه توسعهدهنده توکنهایی که باید لغو شوند را مشخص میکند. میتوانید متغیری که حاوی شناسه برنامه است یا یک شناسه برنامه واقعی را به آن ارسال کنید.
<AppId>appIdString</AppId> or: <AppId ref="request.queryparam.app_id"></AppId>
| پیشفرض | |
|---|---|
| حضور | اختیاری |
| نوع | رشته |
| مقادیر معتبر | یا یک متغیر جریان حاوی رشته شناسه برنامه، یا یک رشته تحتاللفظی. |
عنصر <آبشاری>
اگر true و شما یک توکن دسترسی مات سنتی داشته باشید، در صورت مطابقت <AppId> یا <EndUserId> ، هم توکن تازهسازی و هم توکن دسترسی لغو میشوند. اگر false ، فقط توکن دسترسی لغو میشود و توکن تازهسازی بدون تغییر باقی میماند. همین رفتار فقط برای توکنهای دسترسی مات اعمال میشود.
<Cascade>false<Cascade>
| پیشفرض | نادرست |
|---|---|
| حضور | اختیاری |
| نوع | بولی |
| مقادیر معتبر | true یا false |
عنصر <EndUserId>
شناسه کاربر نهایی برنامه مربوط به توکنی که قرار است لغو شود را مشخص میکند. میتوانید یک متغیر حاوی شناسه کاربر یا یک رشته توکن واقعی به آن ارسال کنید.
<EndUserId>userIdString</EndUserId> or: <EndUserId ref="request.queryparam.access_token"></EndUserId>
| پیشفرض | |
|---|---|
| حضور | اختیاری |
| نوع | رشته |
| مقادیر معتبر | یا یک متغیر جریان حاوی رشته شناسه کاربر، یا یک رشته تحتاللفظی. |
عنصر <RevokeBeforeTimestamp>
توکنهایی را که قبل از مهر زمانی صادر شدهاند، لغو کنید. این عنصر با <AppId> و <EndUserId> کار میکند تا به شما امکان دهد توکنها را قبل از یک زمان خاص لغو کنید. مقدار پیشفرض، زمانی است که سیاست اجرا میشود.
<RevokeBeforeTimestamp>timeStampString</RevokeBeforeTimestamp> or: <RevokeBeforeTimestamp ref="request.queryparam.revoke_since_timestamp"></RevokeBeforeTimestamp>
| پیشفرض | مهر زمانی که سیاست اجرا شده است. |
|---|---|
| حضور | اختیاری |
| نوع | عدد صحیح ۶۴ بیتی (طولانی) که تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی را نشان میدهد. |
| مقادیر معتبر | یا یک متغیر جریان حاوی یک مهر زمانی، یا یک مهر زمانی تحتاللفظی. مهر زمانی نمیتواند در آینده باشد و نمیتواند قبل از ۱ ژانویه ۲۰۱۴ باشد. |
متغیرهای جریان
خطمشی RevokeOAuthV2 متغیرهای جریان را تنظیم نمیکند.
مرجع خطا
این بخش کدهای خطا و پیامهای خطایی که بازگردانده میشوند و متغیرهای خطایی که توسط Edge هنگام ایجاد خطا توسط این خطمشی تنظیم میشوند را شرح میدهد. اگر در حال توسعه قوانین خطا برای مدیریت خطاها هستید، دانستن این اطلاعات مهم است. برای کسب اطلاعات بیشتر، به آنچه باید در مورد خطاهای خطمشی و مدیریت خطاها بدانید، مراجعه کنید.
خطاهای زمان اجرا
این خطاها میتوانند هنگام اجرای سیاست رخ دهند. نامهای خطای نشان داده شده در زیر، رشتههایی هستند که هنگام وقوع خطا به متغیر fault.name اختصاص داده میشوند. برای جزئیات بیشتر به بخش متغیرهای خطا در زیر مراجعه کنید.
| کد خطا | وضعیت HTTP | علت |
|---|---|---|
steps.oauth.v2.InvalidFutureTimestamp | ۵۰۰ | برچسب زمانی نمیتواند در آینده باشد. |
steps.oauth.v2.InvalidEarlyTimestamp | ۵۰۰ | برچسب زمانی نمیتواند زودتر از ۱ ژانویه ۲۰۱۴ باشد. |
steps.oauth.v2.InvalidTimestamp | ۵۰۰ | مهر زمانی نامعتبر است. |
steps.oauth.v2.EmptyAppAndEndUserId | ۵۰۰ | هر دو AppdId و EndUserId نمیتوانند خالی باشند. |
خطاهای استقرار
برای اطلاعات مربوط به خطاهای استقرار، به پیام گزارش شده در رابط کاربری مراجعه کنید.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا خطایی ایجاد کند.
| متغیرها | کجا | مثال |
|---|---|---|
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>مباحث مرتبط
، شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
نمای کلی
توکنهای دسترسی OAuth2 مرتبط با شناسه برنامه توسعهدهنده یا شناسه کاربر نهایی برنامه یا هر دو را لغو میکند.
از سیاست OAuthv2 برای تولید یک توکن دسترسی OAuth 2.0 استفاده کنید. یک توکن تولید شده توسط 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 شناسه کاربر نهایی را در توکن قرار نمیدهد. میتوانید Apigee را طوری پیکربندی کنید که با اضافه کردن عنصر <AppEndUser> به سیاست OAuthv2، شناسه کاربر نهایی را نیز در توکن قرار دهد:
<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 مرتبط با شناسه برنامه توسعهدهنده را لغو کنید. تمام توکنهای دسترسی OAuth2 تولید شده توسط Apigee شامل شناسه برنامه توسعهدهنده مرتبط با توکن هستند. سپس میتوانید توکنها را بر اساس آن شناسه برنامه لغو کنید.
از API برنامههای توسعهدهندگان برای دریافت فهرستی از شناسههای برنامه برای یک توسعهدهنده خاص استفاده کنید.
همچنین میتوانید از API برنامههای توسعهدهندگان برای دریافت جزئیات مربوط به یک برنامه استفاده کنید.
لغو توسط شناسه کاربر نهایی برنامه
توکنهای دسترسی OAuth2 مرتبط با شناسهی کاربر نهایی یک برنامهی خاص را لغو کنید. این توکن، توکنی است که با شناسهی کاربری که توکنها به او صادر شدهاند، مرتبط است.
به طور پیشفرض، هیچ فیلدی برای شناسه کاربر نهایی در توکن دسترسی OAuth وجود ندارد. برای فعال کردن لغو توکنهای دسترسی OAuth 2.0 بر اساس شناسه کاربر نهایی، باید سیاست OAuthv2 را طوری پیکربندی کنید که شناسه کاربر را در توکن، همانطور که در بالا نشان داده شده است، لحاظ کند.
برای دریافت شناسه کاربر نهایی برنامه، از رابط برنامهنویسی کاربردی برنامههای توسعهدهنده (Developer apps API) استفاده کنید.
نمونهها
نمونههای زیر از سیاست لغو OAuth V2 برای لغو توکنهای دسترسی OAuth2 استفاده میکنند.
شناسه برنامه توسعهدهنده
برای لغو توکنهای دسترسی بر اساس شناسه برنامه توسعهدهنده، از عنصر <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 را بر حسب میلیثانیه مشخص میکند. تمام توکنهای صادر شده قبل از آن زمان لغو میشوند.
مثال زیر توکنهای دسترسی را برای یک برنامه توسعهدهنده که قبل از ۱ جولای ۲۰۱۹ ایجاد شده است، لغو میکند:
<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> یک عدد صحیح ۶۴ بیتی (طولانی) میگیرد که نشان دهنده تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی است.
مرجع عنصر
مرجع عنصر، عناصر و ویژگیهای سیاست 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 | نام داخلی سیاست. مقدار ویژگی در صورت تمایل، از عنصر | ناموجود | مورد نیاز |
continueOnError | برای بازگرداندن خطا در صورت عدم موفقیت یک سیاست، روی برای ادامه اجرای جریان حتی پس از شکست یک سیاست، روی | نادرست | اختیاری |
enabled | برای اعمال سیاست، روی برای غیرفعال کردن این سیاست، آن را روی | درست | اختیاری |
async | این ویژگی منسوخ شده است. | نادرست | منسوخ شده |
عنصر <DisplayName>
علاوه بر ویژگی name ، از این ویژگی برای برچسبگذاری سیاست در ویرایشگر پروکسی رابط کاربری مدیریت با یک نام متفاوت به زبان طبیعی استفاده کنید.
<DisplayName>Policy Display Name</DisplayName>
| پیشفرض | ناموجود اگر این عنصر را حذف کنید، از مقدار ویژگی |
|---|---|
| حضور | اختیاری |
| نوع | رشته |
عنصر <AppId>
شناسه برنامه توسعهدهنده توکنهایی که باید لغو شوند را مشخص میکند. میتوانید متغیری که حاوی شناسه برنامه است یا یک شناسه برنامه واقعی را به آن ارسال کنید.
<AppId>appIdString</AppId> or: <AppId ref="request.queryparam.app_id"></AppId>
| پیشفرض | |
|---|---|
| حضور | اختیاری |
| نوع | رشته |
| مقادیر معتبر | یا یک متغیر جریان حاوی رشته شناسه برنامه، یا یک رشته تحتاللفظی. |
عنصر <آبشاری>
اگر true و شما یک توکن دسترسی مات سنتی داشته باشید، در صورت مطابقت <AppId> یا <EndUserId> ، هم توکن تازهسازی و هم توکن دسترسی لغو میشوند. اگر false ، فقط توکن دسترسی لغو میشود و توکن تازهسازی بدون تغییر باقی میماند. همین رفتار فقط برای توکنهای دسترسی مات اعمال میشود.
<Cascade>false<Cascade>
| پیشفرض | نادرست |
|---|---|
| حضور | اختیاری |
| نوع | بولی |
| مقادیر معتبر | true یا false |
عنصر <EndUserId>
شناسه کاربر نهایی برنامه مربوط به توکنی که قرار است لغو شود را مشخص میکند. میتوانید یک متغیر حاوی شناسه کاربر یا یک رشته توکن واقعی به آن ارسال کنید.
<EndUserId>userIdString</EndUserId> or: <EndUserId ref="request.queryparam.access_token"></EndUserId>
| پیشفرض | |
|---|---|
| حضور | اختیاری |
| نوع | رشته |
| مقادیر معتبر | یا یک متغیر جریان حاوی رشته شناسه کاربر، یا یک رشته تحتاللفظی. |
عنصر <RevokeBeforeTimestamp>
توکنهایی را که قبل از مهر زمانی صادر شدهاند، لغو کنید. این عنصر با <AppId> و <EndUserId> کار میکند تا به شما امکان دهد توکنها را قبل از یک زمان خاص لغو کنید. مقدار پیشفرض، زمانی است که سیاست اجرا میشود.
<RevokeBeforeTimestamp>timeStampString</RevokeBeforeTimestamp> or: <RevokeBeforeTimestamp ref="request.queryparam.revoke_since_timestamp"></RevokeBeforeTimestamp>
| پیشفرض | مهر زمانی که سیاست اجرا شده است. |
|---|---|
| حضور | اختیاری |
| نوع | عدد صحیح ۶۴ بیتی (طولانی) که تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی را نشان میدهد. |
| مقادیر معتبر | یا یک متغیر جریان حاوی یک مهر زمانی، یا یک مهر زمانی تحتاللفظی. مهر زمانی نمیتواند در آینده باشد و نمیتواند قبل از ۱ ژانویه ۲۰۱۴ باشد. |
متغیرهای جریان
خطمشی RevokeOAuthV2 متغیرهای جریان را تنظیم نمیکند.
مرجع خطا
این بخش کدهای خطا و پیامهای خطایی که بازگردانده میشوند و متغیرهای خطایی که توسط Edge هنگام ایجاد خطا توسط این خطمشی تنظیم میشوند را شرح میدهد. اگر در حال توسعه قوانین خطا برای مدیریت خطاها هستید، دانستن این اطلاعات مهم است. برای کسب اطلاعات بیشتر، به آنچه باید در مورد خطاهای خطمشی و مدیریت خطاها بدانید، مراجعه کنید.
خطاهای زمان اجرا
این خطاها میتوانند هنگام اجرای سیاست رخ دهند. نامهای خطای نشان داده شده در زیر، رشتههایی هستند که هنگام وقوع خطا به متغیر fault.name اختصاص داده میشوند. برای جزئیات بیشتر به بخش متغیرهای خطا در زیر مراجعه کنید.
| کد خطا | وضعیت HTTP | علت |
|---|---|---|
steps.oauth.v2.InvalidFutureTimestamp | ۵۰۰ | برچسب زمانی نمیتواند در آینده باشد. |
steps.oauth.v2.InvalidEarlyTimestamp | ۵۰۰ | برچسب زمانی نمیتواند زودتر از ۱ ژانویه ۲۰۱۴ باشد. |
steps.oauth.v2.InvalidTimestamp | ۵۰۰ | مهر زمانی نامعتبر است. |
steps.oauth.v2.EmptyAppAndEndUserId | ۵۰۰ | هر دو AppdId و EndUserId نمیتوانند خالی باشند. |
خطاهای استقرار
برای اطلاعات مربوط به خطاهای استقرار، به پیام گزارش شده در رابط کاربری مراجعه کنید.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا خطایی ایجاد کند.
| متغیرها | کجا | مثال |
|---|---|---|
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>