بررسی اجمالی

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

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

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

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

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

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

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

  • دستگاه های متصل Google Smart Home را با استفاده از برنامه Google Home و دستیار Google ، "سلام Google چراغ ها را روشن کنید" مدیریت و کنترل کنید.

  • تجارب و قابلیت های دستیار Google سفارشی کاربر را با اقدامات گفتگو ایجاد کنید ، "سلام گوگل ، موارد معمول خود را از Starbucks سفارش دهید".

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

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

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

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

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

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

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

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

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

  • با لغو پیوند حساب ها ، دسترسی به داده ها و سرویس های میزبان شده در سیستم عامل شما لغو می شود. اجرای یک نقطه پایانی لغو رمز اختیاری به شما امکان می دهد با رویدادهای آغاز شده در Google همگام باشید ، در حالی که Cross-Account Protection (RISC) به شما این امکان را می دهد تا Google را از هرگونه رویداد لغو پیوند در سیستم عامل خود مطلع کنید.

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

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

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

پیوند OAuth ('وب OAuth')

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

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

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

پیوند برنامه App-based OAuth ('App Flip')

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

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

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

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

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

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

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

لینک مستقیم مبتنی بر OAuth ("ساده")

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

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

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

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

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

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

ما برای اطمینان از اینکه کاربران بهترین تجربه پیوند را دارند ، همه جریان ها را پیاده سازی می کنیم. جریانهای چرخشی ساده و برنامه اصطکاک پیوند را کاهش می دهد زیرا کاربران قادر هستند روند پیوند را در چند مرحله تکمیل کنند. پیوند وب 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. کاهش عمر رمز به حالت عادی.

ثبت نام در Google

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