موضوعات پیشرفته OAuth 2.0

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

استفاده از توکن‌های OAuth شخص ثالث

به بخش استفاده از توکن‌های OAuth شخص ثالث مراجعه کنید.

تعیین چندین URL برای فراخوانی مجدد

هنگام استفاده از نوع اعطای کد مجوز، هنگام ثبت برنامه توسعه‌دهنده خود باید یک URL بازگشتی مشخص کنید. URL بازگشتی معمولاً URL برنامه‌ای را مشخص می‌کند که برای دریافت کد مجوز از طرف برنامه کلاینت تعیین شده است. علاوه بر این، این رشته URL برای اعتبارسنجی استفاده می‌شود. کلاینت موظف است هنگام درخواست کدهای مجوز و توکن‌های دسترسی، این URL را به Apigee Edge ارسال کند و پارامتر redirect_uri باید با پارامتری که ثبت شده است مطابقت داشته باشد. همچنین به درخواست توکن‌های دسترسی و کدهای مجوز مراجعه کنید.

برای مثال:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

یک مورد استفاده برای مشخص کردن چندین URL برگشتی در یک برنامه پروکسی واحد وجود دارد. برای مثال، ممکن است بخواهید برای چندین دامنه احراز هویت کنید. به عنوان مثال:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • ‏http://myexample.ja/callback‏

اج از تعیین چندین آدرس اینترنتی برگشتی یا استفاده از کاراکترهای wildcard هنگام ثبت یک برنامه توسعه‌دهنده پشتیبانی نمی‌کند. برای دستیابی به این مورد استفاده، می‌توانید هنگام ثبت یک برنامه توسعه‌دهنده، یک آدرس اینترنتی برگشتی خالی مشخص کنید و سپس منطقی را در یک سیاست جاوا اسکریپت قرار دهید تا URI های تغییر مسیر ورودی را اعتبارسنجی کند.

تغییر رفتار پیش‌فرض بازگشتی یک عملیات GenerateAuthCode

به طور پیش‌فرض، عملیات GenerateAuthCode از خط‌مشی OAuthV2 یک تغییر مسیر 302 به URL فراخوانی با پارامتر پرس‌وجوی ?code حاوی کد مجوز برمی‌گرداند.

در برخی موارد، ممکن است بخواهید این رفتار را تغییر دهید. برای مثال، ممکن است بخواهید یک پاسخ ۲۰۰ با JSON ساختاریافته حاوی کد برگردانید.

یک راه برای دستیابی به این مورد استفاده، تنظیم ویژگی GenerateResponse در سیاست OAuthV2 به false است. از سیاست ExtractVariable برای دریافت مقدار کد مجوز از متغیر oauthv2authcode.{policy_name}.code استفاده کنید. سپس، می‌توانید از سیاست AssignMessage برای بازگرداندن کد در یک فایل JSON با وضعیت ۲۰۰ استفاده کنید.

بررسی رضایت کاربر نهایی برنامه

ممکن است لازم باشد تأیید کنید که یک کاربر نهایی برنامه، آن را مجاز کرده است. برای انجام این کار می‌توانید از API حسابرسی Apigee Edge استفاده کنید.

نمونه OAuth خروجی

نمونه outbound-oauth را در مخزن api-platform-samples آپیجی در گیت‌هاب ببینید. می‌توانید نمونه را کلون کنید، آن را مستقر کنید و اجرا کنید. این نمونه از API مترجم مایکروسافت آزور برای ترجمه توییت‌ها استفاده می‌کند. برای انجام این کار، یک فراخوانی خروجی برای دریافت توکن دسترسی OAuth انجام می‌دهد و سپس توکن را با استفاده از سیاست‌های ذخیره‌سازی سرویس‌های API ذخیره می‌کند و هر بار که یک فراخوانی خروجی انجام می‌شود، توکن ذخیره شده را دوباره استفاده می‌کند. همچنین، شامل یک برنامه مرورگر نمایشی است که برای فراخوانی پروکسی API استفاده می‌شود.