این صفحه مرجع، نقاط پایانی و رابطهای ارائه شده توسط گوگل را که برنامه شما در طول فرآیند پیوند حساب مبتنی بر OAuth از آنها استفاده میکند، مستند میکند.
پیش نیازها و استانداردها
برای تعامل موفقیتآمیز با این نقاط پایانی گوگل، ادغام شما باید از استانداردهای زیر پیروی کند:
- OAuth 2.0 : مطابق با RFC 6749 .
- توکنهای وب JSON (JWT) : مطابق با RFC 7519 (برای لینکدهی ساده و RISC).
- توکنهای رویداد امنیتی : مطابق با RFC 8417 (برای RISC).
- HTTPS : همه درخواستها باید از طریق اتصال امن HTTPS انجام شوند.
آدرس تغییر مسیر OAuth
نقطه پایانی که سرویس شما پس از احراز هویت و رضایت موفق، مرورگر کاربر را به آنجا هدایت میکند. پارامتر مسیر YOUR_PROJECT_ID ، شناسهای است که هنگام ثبت نام پیکربندی میکنید.
- آدرس اینترنتی:
https://oauth-redirect.googleusercontent.com/r/ YOUR_PROJECT_ID آدرس سندباکس:
https://oauth-redirect-sandbox.googleusercontent.com/r/ YOUR_PROJECT_IDروش:
GET(با استفاده از تغییر مسیر مرورگر)
پارامترهای درخواست
هنگام هدایت مجدد کاربر به گوگل، پارامترها باید به URL اضافه شوند. بسته به جریان OAuth مورد استفاده، این پارامترها یا به صورت یک رشته پرس و جو (جریان کد Auth) یا به صورت یک قطعه URL (جریان ضمنی) قالب بندی میشوند.
| پارامتر | توضیحات |
|---|---|
code | (برای جریان کد تأیید لازم است) کد مجوز تولید شده توسط سرویس شما. |
state | (الزامی) مقدار وضعیت اصلاحنشدهای که در ابتدا از گوگل دریافت شده است. |
access_token | (برای جریان ضمنی مورد نیاز است) توکن دسترسی بلندمدت تولید شده توسط سرویس شما. |
token_type | (برای جریان ضمنی مورد نیاز است) باید bearer باشد. |
پاسخهای خطا
اگر درخواست به URI ریدایرکت OAuth ناقص باشد، خطای HTTP 400 Bad Request دریافت خواهید کرد. بدنه پاسخ شامل یک شیء JSON با ساختار زیر خواهد بود:
| میدان | توضیحات |
|---|---|
sendPostBody | تعیین میکند که آیا JS باید با استفاده از POST به redirectUri ریدایرکت شود یا خیر. معمولاً در این سناریو مقدار false . |
errorMessage | یک پیام خطا که در صورت عدم تکمیل تغییر مسیر به کلاینت نمایش داده میشود. برای بخشهای از دست رفته، این عبارت "A URI fragment or query string must be set." |
پاسخهای خطای OAuth 2.0
اگر کاربر رضایت خود را رد کند یا سرویس شما با خطایی مواجه شود، سرویس شما باید کاربر را به URI ریدایرکت OAuth با پارامترهای خطای استاندارد OAuth 2.0 (مانند error=access_denied ) هدایت کند. گوگل این پارامترها را پردازش کرده و صفحه خطای مناسبی را به کاربر نمایش میدهد.
رابط برنامهنویسی کاربردی RISC (اختیاری)
توسط سرویس شما برای اطلاعرسانی پیشگیرانه به گوگل در زمانی که کاربری با استفاده از پروتکل RISC حساب کاربری خود را در پلتفرم شما لغو میکند، استفاده میشود و تضمین میکند که هر دو پلتفرم همگامسازی شوند.
- آدرس اینترنتی:
https://risc.googleapis.com/v1/events:publish - روش:
POST - احراز هویت: به یک توکن حساب سرویس گوگل با مجوزهای مناسب نیاز دارد.
- نوع محتوا:
application/json
ادعاهای توکن رویداد امنیتی
توکنهای رویداد امنیتی که برای اطلاعرسانی به گوگل در مورد رویدادهای ابطال توکن استفاده میکنید، باید با الزامات جدول زیر مطابقت داشته باشند:
| ادعا | توضیحات |
|---|---|
iss | ادعای صادرکننده: این یک URL است که شما میزبانی میکنید و هنگام ثبت نام با گوگل به اشتراک گذاشته شده است. |
aud | ادعای مخاطب: این گزینه گوگل را به عنوان گیرنده JWT معرفی میکند. باید روی google_account_linking تنظیم شود. |
jti | ادعای شناسه JWT: این یک شناسه منحصر به فرد است که شما برای هر توکن رویداد امنیتی ایجاد میکنید. |
iat | صادر شده در زمان ادعا: این یک مقدار NumericDate است که نشان دهنده زمانی است که این توکن رویداد امنیتی ایجاد شده است. |
toe | ادعای زمان رویداد: این یک مقدار NumericDate اختیاری است که نشان دهنده زمانی است که توکن ابطال شده است. |
exp | ادعای زمان انقضا: این فیلد را وارد نکنید ، زیرا رویدادی که منجر به این اعلان شده است، قبلاً رخ داده است. |
events | ادعای رویدادهای امنیتی: این یک شیء JSON است و باید فقط شامل یک رویداد ابطال توکن واحد باشد که شامل فیلدهای زیر باشد:
|
برای اطلاعات بیشتر در مورد انواع و قالبهای فیلد، به JSON Web Token (JWT) مراجعه کنید.
رابط کاربری «برگشت به عقب» برای برگرداندن برنامه
برای App Flip ، برنامه تلفن همراه شما باید کد مجوز یا توکن دسترسی را به برنامه گوگل برگرداند.
اندروید (نتیجه هدف)
برنامه شما با استفاده از یک Intent باز میشود. پس از رضایت، کار تمام میشود و نتیجهای را به گوگل برمیگرداند. برای اطلاعات بیشتر، به راهنمای پیادهسازی اندروید مراجعه کنید.
- اقدام:
com.google.android.gms.auth.CODE_AVAILABLE - موارد اضافی:
code،state،access_token،token_type.
iOS (طرح URL سفارشی و پیوندهای جهانی)
برنامه شما گوگل را با استفاده از یک طرح URL سفارشی یا یک لینک جهانی HTTPS باز میکند. برای اطلاعات بیشتر، به راهنمای پیادهسازی iOS مراجعه کنید.
- قالب:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING