API لینک کردن حساب گوگل

این صفحه مرجع، نقاط پایانی و رابط‌های ارائه شده توسط گوگل را که برنامه شما در طول فرآیند پیوند حساب مبتنی بر 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 است و باید فقط شامل یک رویداد ابطال توکن واحد باشد که شامل فیلدهای زیر باشد:

  • subject_type : این باید روی oauth_token تنظیم شود.
  • token_type : این نوع توکنی است که لغو می‌شود، که می‌تواند access_token یا refresh_token .
  • token_identifier_alg : این الگوریتمی است که برای رمزگذاری توکن استفاده می‌شود و باید hash_SHA512_double باشد.
  • token : این شناسه‌ی توکنِ لغو شده است.

برای اطلاعات بیشتر در مورد انواع و قالب‌های فیلد، به JSON Web Token (JWT) مراجعه کنید.

رابط کاربری «برگشت به عقب» برای برگرداندن برنامه

برای App Flip ، برنامه تلفن همراه شما باید کد مجوز یا توکن دسترسی را به برنامه گوگل برگرداند.

اندروید (نتیجه هدف)

برنامه شما با استفاده از یک Intent باز می‌شود. پس از رضایت، کار تمام می‌شود و نتیجه‌ای را به گوگل برمی‌گرداند. برای اطلاعات بیشتر، به راهنمای پیاده‌سازی اندروید مراجعه کنید.

  • اقدام: com.google.android.gms.auth.CODE_AVAILABLE
  • موارد اضافی: code ، state ، access_token ، token_type .

برنامه شما گوگل را با استفاده از یک طرح URL سفارشی یا یک لینک جهانی HTTPS باز می‌کند. برای اطلاعات بیشتر، به راهنمای پیاده‌سازی iOS مراجعه کنید.

  • قالب: <return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING