بررسی اجمالی

پیوند دادن حساب، دارندگان حساب Google را قادر می‌سازد تا سریع، یکپارچه و ایمن به خدمات شما متصل شوند. می‌توانید برای اشتراک‌گذاری داده‌های کاربر از پلتفرم خود با برنامه‌ها و سرویس‌های Google، پیوند حساب Google را پیاده‌سازی کنید.

پروتکل ایمن OAuth 2.0 به شما امکان می دهد حساب Google کاربر را به طور ایمن با حساب او در پلتفرم خود پیوند دهید و از این طریق به برنامه ها و دستگاه های Google اجازه دسترسی به خدمات خود را بدهید.

کاربران می‌توانند حساب‌های خود را پیوند یا لغو پیوند دهند و به‌صورت اختیاری یک حساب جدید در پلتفرم شما با پیوند دادن حساب Google ایجاد کنند.

موارد استفاده کنید

برخی از دلایل اجرای پیوند حساب Google عبارتند از:

  • داده‌های کاربر را از پلتفرم خود با برنامه‌ها و سرویس‌های Google به اشتراک بگذارید.

  • محتوای ویدیویی و فیلم خود را با استفاده از Google TV پخش کنید.

  • با استفاده از برنامه Google Home و Google Assistant، «Hey Google turn on the lights»، دستگاه‌های متصل به خانه هوشمند Google را مدیریت و کنترل کنید.

  • با کنش‌های مکالمه ، تجربه‌ها و عملکردهای سفارشی دستیار Google را برای کاربر ایجاد کنید.

  • پس از پیوند دادن حساب Google خود به حساب شریک پاداش، کاربران را قادر می سازد تا با مشاهده پخش جریانی زنده واجد شرایط در YouTube جوایزی کسب کنند.

  • در حین ثبت‌نام، حساب‌های جدید را از قبل با داده‌های به اشتراک‌گذاشته‌شده از نمایه حساب Google پر کنید.

ویژگی های پشتیبانی شده

این ویژگی‌ها توسط پیوند حساب Google پشتیبانی می‌شوند:

  • به سرعت و به راحتی داده های خود را با استفاده از جریان ضمنی پیوند OAuth به اشتراک بگذارید.

  • با جریان کد مجوز پیوند OAuth امنیت بهبود یافته را ارائه دهید.

  • کاربران موجود را به سیستم وارد کنید یا کاربران جدید تأیید شده Google را در پلتفرم خود ثبت نام کنید، رضایت آنها را جلب کنید و داده‌ها را به‌طور ایمن با پیوندهای ساده به اشتراک بگذارید.

  • با App Flip اصطکاک را کاهش دهید. از یک برنامه مطمئن Google، یک ضربه به طور ایمن برنامه تأیید شده Android یا iOS شما را باز می‌کند و یک ضربه رضایت کاربر را می‌دهد و حساب‌ها را پیوند می‌دهد.

  • بهبود حریم خصوصی کاربر با تعریف محدوده های سفارشی برای به اشتراک گذاری فقط داده های ضروری، افزایش اعتماد کاربران با تعریف واضح نحوه استفاده از داده های آنها.

  • دسترسی به داده ها و خدمات میزبانی شده در پلتفرم شما را می توان با قطع پیوند حساب ها لغو کرد. پیاده‌سازی نقطه پایانی لغو اختیاری رمز به شما امکان می‌دهد با رویدادهای آغاز شده توسط Google همگام بمانید، در حالی که محافظت از حساب‌های متقابل (RISC) به شما امکان می‌دهد هر رویداد قطع پیوندی را که در پلتفرم شما رخ می‌دهد به Google اطلاع دهید.

جریان های پیوند حساب

3 جریان پیوند حساب Google وجود دارد که همگی مبتنی بر OAuth هستند و از شما می‌خواهند مجوزهای مطابق با OAuth 2.0 و نقاط پایانی تبادل رمز را مدیریت یا کنترل کنید.

در طول فرآیند پیوند، پس از کسب رضایت دارندگان حساب برای پیوند دادن حساب‌هایشان و اشتراک‌گذاری داده‌ها، نشانه‌های دسترسی به Google را برای حساب‌های Google فردی صادر می‌کنید.

پیوند OAuth ("Web OAuth")

این جریان اصلی OAuth است که کاربران را برای پیوند به وب سایت شما می فرستد. کاربر برای ورود به حساب کاربری خود به وب سایت شما هدایت می شود. پس از ورود به سیستم، کاربر با به اشتراک گذاری داده های خود در سرویس شما با Google موافقت می کند. در آن مرحله، حساب Google کاربر و سرویس شما پیوند داده می شوند.

OAuth Linking از کد مجوز و جریان های OAuth ضمنی پشتیبانی می کند. سرویس شما باید میزبان یک نقطه پایانی مجوز سازگار با OAuth 2.0 برای جریان ضمنی باشد، و باید هنگام استفاده از جریان کد مجوز، هر دو نقطه پایان مجوز و مبادله رمز را نشان دهد.

شکل 1 . پیوند دادن حساب در تلفن کاربر با Web OAuth

پیوند دادن برنامه برگردان مبتنی بر OAuth («برگشت برنامه»)

یک جریان OAuth که کاربران را برای پیوند به برنامه شما می فرستد.

App Flip Linking مبتنی بر OAuth کاربران را هنگام حرکت بین برنامه‌های تلفن همراه تأییدشده Android یا iOS شما و پلتفرم Google راهنمایی می‌کند تا تغییرات پیشنهادی دسترسی به داده‌ها را بررسی کنند و رضایت آنها را برای پیوند دادن حساب خود در پلتفرم شما با حساب Google خود اعلام کنند. برای فعال کردن App Flip، سرویس شما باید از OAuth Linking یا Google Sign-in Linking مبتنی بر OAuth با استفاده از جریان کد مجوز پشتیبانی کند.

App Flip هم برای اندروید و هم برای iOS پشتیبانی می شود.

چگونه کار می کند:

برنامه Google بررسی می کند که آیا برنامه شما روی دستگاه کاربر نصب شده است یا خیر:

  • اگر برنامه پیدا شود، کاربر به برنامه شما «تگردان» می شود. برنامه شما رضایت کاربر را برای پیوند دادن حساب با Google جمع‌آوری می‌کند و سپس به صفحه Google برمی‌گردد.
  • اگر برنامه پیدا نشد یا خطایی در طول فرآیند پیوند دادن به برنامه رخ داد، کاربر به جریان OAuth ساده یا Web OAuth هدایت می‌شود.

شکل 2 . پیوند دادن حساب در تلفن کاربر با App Flip

پیوند کارآمد مبتنی بر OAuth ("کارآمد")

Google Sign-In مبتنی بر OAuth پیوند ساده، Google Sign-In را در بالای پیوند OAuth اضافه می کند، و به کاربران امکان می دهد فرآیند پیوند را بدون خروج از سطح Google کامل کنند و در نتیجه اصطکاک و افت را کاهش دهند. پیوند کارآمد مبتنی بر OAuth بهترین تجربه کاربری را با ورود بی‌وقفه، ایجاد حساب و پیوند حساب با ترکیب Google Sign-in با پیوند OAuth ارائه می‌دهد. سرویس شما باید از مجوز سازگار با OAuth 2.0 و نقاط پایانی تبادل رمز پشتیبانی کند. علاوه بر این، نقطه پایانی مبادله رمز شما باید از اظهارات JSON Web Token (JWT) پشتیبانی کند و check ، create ، و get ، اهداف را اجرا کند.

چگونه کار می کند:

Google حساب کاربری را تأیید می کند و این اطلاعات را به شما می دهد:

  • اگر یک حساب کاربری برای کاربر در پایگاه داده شما وجود داشته باشد، کاربر با موفقیت حساب Google خود را با حساب خود در سرویس شما پیوند می دهد.
  • اگر هیچ حساب کاربری برای کاربر در پایگاه داده شما وجود نداشته باشد، کاربر می تواند یک حساب جدید 3P با اطلاعاتی که Google ارائه می دهد ایجاد کند: ایمیل، نام، و تصویر نمایه ، یا انتخاب کند که وارد سیستم شوید و با ایمیل دیگری پیوند دهید (این به آنها نیاز دارد. برای ورود به سرویس خود از طریق Web OAuth).

شکل 3 . پیوند دادن حساب در تلفن کاربر با پیوند ساده

از کدام جریان باید استفاده کرد؟

توصیه می‌کنیم همه جریان‌ها را پیاده‌سازی کنید تا اطمینان حاصل شود که کاربران بهترین تجربه پیوند را دارند. جریان های تلنگر ساده و برنامه اصطکاک پیوند را کاهش می دهد زیرا کاربران می توانند فرآیند پیوند را در مراحل بسیار کمی تکمیل کنند. پیوند Web OAuth کمترین سطح تلاش را دارد و مکان خوبی برای شروع است که پس از آن می توانید به جریان های پیوندی دیگر اضافه کنید.

کار با توکن ها

پیوند دادن حساب Google بر اساس استاندارد صنعتی OAuth 2.0 است.

شما پس از کسب رضایت دارندگان حساب برای پیوند دادن حساب‌هایشان و اشتراک‌گذاری داده‌ها، نشانه‌های دسترسی به Google را برای حساب‌های Google فردی صادر می‌کنید.

انواع نشانه ها

OAuth 2.0 از رشته هایی به نام توکن برای برقراری ارتباط بین عامل کاربر ، برنامه مشتری و سرور OAuth 2.0 استفاده می کند.

در هنگام پیوند دادن حساب می توان از سه نوع رمز OAuth 2.0 استفاده کرد:

  • کد مجوز توکن کوتاه مدت که می تواند با یک رمز دسترسی و یک نشانه تازه سازی مبادله شود. برای اهداف امنیتی ، Google برای به دست آوردن یک استفاده یا کد بسیار کوتاه مدت ، با نقطه پایانی مجوز تماس می گیرد.

  • رمز دسترسی نشانه ای که به حامل امکان دسترسی به منبعی را می دهد. برای محدود کردن قرار گرفتن در معرض از دست رفتن این رمز ، طول عمر محدودی دارد که معمولاً پس از یک ساعت یا بیشتر منقضی می شود.

  • تازه کردن رمز توکن با دوام طولانی که می تواند با منقضی شدن رمز دسترسی با رمز دسترسی جدید مبادله شود. وقتی سرویس شما با Google ادغام می شود ، این رمز به طور انحصاری توسط Google ذخیره و استفاده می شود. Google برای تبادل نشانه های تازه سازی برای نشانه های دسترسی ، که به نوبه خود برای دسترسی به داده های کاربر استفاده می شوند ، با نقطه پایانی تبادل رمز شما تماس می گیرد.

دست زدن به نشانه

شرایط مسابقه در محیط های خوشه ای و تبادلات سرویس دهنده-سرور می تواند منجر به زمان بندی پیچیده و سناریوهای مدیریت خطا هنگام کار با نشانه ها شود. مثلا:

  • درخواستی برای رمز دسترسی جدید دریافت می کنید و یک رمز دسترسی جدید صادر می کنید. همزمان ، درخواستی برای دسترسی به منبع سرویس خود با استفاده از رمز دسترسی قبلی و منقضی نشده دریافت می کنید.
  • پاسخ نشانه تازه سازی شما هنوز توسط Google دریافت نمی شود (یا هرگز دریافت نمی شود). در همین حال ، رمز جدید تازه معتبر در درخواستی از Google استفاده می شود.

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

حالت مشترک فوری و کاملاً سازگار هم در سیستم های کنترل توکن شما و هم در گوگل تضمین نمی شود. چندین نشانه معتبر و منقضی نشده می توانند در مدت زمان کوتاه یا در سیستم ها با هم همزیستی داشته باشند. برای به حداقل رساندن تأثیر منفی کاربر ، توصیه می کنیم موارد زیر را انجام دهید:

  • نشانه های دسترسی منقضی نشده را بپذیرید ، حتی پس از صدور رمز جدیدتر.
  • از گزینه های تازه سازی Token Rotation استفاده کنید .
  • از نشانه های دسترسی چندگانه ، همزمان معتبر و تازه سازی پشتیبانی کنید. برای امنیت ، باید تعداد نشانه ها و طول عمر رمزها را محدود کنید.
تعمیر و نگهداری و قطع برق

در حین تعمیر و نگهداری یا برنامه های خاموش برنامه ریزی شده ، Google ممکن است نتواند با مجوز یا نقاط انتهایی تبادل توکن تماس بگیرد تا نشانه ها را بدست آورد و آنها را تازه کند.

نقاط پایانی شما باید با کد خطای 503 و بدنه خالی پاسخ دهند. در این حالت ، Google برای مدت محدودی درخواستهای تبادل رمز ناموفق را امتحان می کند. به شرطی که Google بعداً بتواند نشانه های تازه سازی و دسترسی را بدست آورد ، درخواست های ناموفق برای کاربران قابل مشاهده نیستند.

درخواستهای ناموفق برای دسترسی به رمز دسترسی ، در صورت شروع یک کاربر ، منجر به خطای قابل مشاهده می شود. در صورت استفاده ضمنی از جریان OAuth 2.0 ، کاربران ملزم به امتحان مجدد خطاهای اتصال هستند.

توصیه ها

راه حل های زیادی برای به حداقل رساندن تأثیر نگهداری وجود دارد. برخی از گزینه ها برای در نظر گرفتن:

  • سرویس موجود خود را حفظ کنید و تعداد محدودی از درخواست ها را به سرویس تازه به روز شده خود هدایت کنید. فقط پس از تأیید عملکرد مورد انتظار ، همه درخواست ها را منتقل کنید.

  • تعداد درخواست های رمز را در طول دوره نگهداری کاهش دهید:

    • دوره های نگهداری را به کمتر از طول عمر رمز دسترسی محدود کنید.

    • افزایش عمر دسترسی به نشانه موقت:

      1. طول عمر رمز را به بیشتر از دوره نگهداری افزایش دهید.
      2. دو برابر طول عمر رمز دسترسی خود صبر کنید تا کاربران بتوانند نشانه های کوتاه مدت را با نشانه های طولانی تر مبادله کنند.
      3. تعمیر و نگهداری را وارد کنید.
      4. به درخواست های رمز با کد خطای 503 و بدنه خالی پاسخ دهید.
      5. تعمیر و نگهداری
      6. کاهش عمر رمز به حالت عادی.

ثبت نام در گوگل

ما به جزئیات راه‌اندازی OAuth 2.0 و اشتراک‌گذاری اعتبارنامه‌ها برای فعال کردن پیوند حساب نیاز داریم. برای جزئیات به ثبت نام مراجعه کنید.