مسیر ادغام خود را انتخاب کنید
مسیری را انتخاب کنید که به بهترین وجه با نیازهای شما مطابقت داشته باشد:
| مسیر | بهترین برای | بیشتر بدانید |
|---|---|---|
| پروتکل تجارت جهانی (UCP) | بازرگانان و خرده فروشان. | اسناد UCP |
| اتصال حساب استاندارد | خانه هوشمند، تلویزیون و یوتیوب. | اسناد |
پیوند حساب، دارندگان حساب گوگل را قادر میسازد تا به سرعت، یکپارچه و ایمن به سرویسهای شما متصل شوند. شما میتوانید پیوند حساب گوگل را برای به اشتراک گذاشتن دادههای کاربر از پلتفرم خود با برنامهها و سرویسهای گوگل پیادهسازی کنید.
پروتکل امن OAuth 2.0 به شما امکان میدهد حساب گوگل کاربر را با خیال راحت به حساب او در پلتفرم خود پیوند دهید و از این طریق به برنامهها و دستگاههای گوگل اجازه دسترسی به سرویسهای خود را بدهید.
کاربران میتوانند حسابهای خود را به هم متصل یا از هم جدا کنند و در صورت تمایل با استفاده از قابلیت «پیوند حساب گوگل»، یک حساب جدید در پلتفرم شما ایجاد کنند.
موارد استفاده
برخی از دلایل پیادهسازی لینک حساب گوگل عبارتند از:
دادههای کاربر را از پلتفرم خود با برنامهها و سرویسهای گوگل به اشتراک بگذارید.
با استفاده از پروتکل تجارت جهانی (UCP) با Google Shopping و سطوح هوش مصنوعی (جستجو، Gemini) ادغام شوید.
محتوای ویدیویی و فیلم خود را با استفاده از Google TV پخش کنید.
دستگاههای متصل به خانه هوشمند گوگل را با استفاده از برنامه گوگل هوم و دستیار گوگل، با دستور «هی گوگل چراغها را روشن کن» مدیریت و کنترل کنید.
با استفاده از اقدامات محاورهای ، مثلاً «سلام گوگل، غذای همیشگی من را از استارباکس سفارش بده»، تجربهها و قابلیتهای سفارشیسازیشدهی دستیار گوگل را برای کاربر ایجاد کنید.
به کاربران این امکان را بدهید که با مشاهده پخش زنده واجد شرایط در یوتیوب، پس از پیوند دادن حساب گوگل خود به یک حساب همکار پاداش، پاداش کسب کنند.
حسابهای جدید را هنگام ثبتنام با دادههای مشترک و توافقی از نمایه حساب گوگل، از قبل پر کنید.
قابلیتها و الزامات
ماتریس زیر، پشتیبانی و توصیهها را برای هر جریان پیوند تعریف میکند.
| جریان پیوند | ویژگیهای استاندارد | ویژگیهای UCP |
|---|---|---|
| تلنگر برنامه | توصیه شده | توصیه شده |
| لینکدهی ساده | توصیه شده | توصیه شده |
| لینکدهی OAuth | الزامی (جایگزین) | الزامی (جایگزین) |
| اواوت ۲.۱ | توصیه شده | توصیه شده |
با تعریف محدودههای سفارشی برای به اشتراک گذاشتن فقط دادههای ضروری، حریم خصوصی کاربر را بهبود بخشید، و با تعریف واضح نحوه استفاده از دادههای آنها، اعتماد کاربر را افزایش دهید.
دسترسی به دادهها و سرویسهای میزبانیشده روی پلتفرم شما میتواند با قطع ارتباط حسابها لغو شود. پیادهسازی یک نقطه پایانی اختیاری برای لغو توکن به شما امکان میدهد تا با رویدادهای آغازشده توسط گوگل همگام بمانید، در حالی که محافظت متقابل حسابها (RISC) به شما امکان میدهد تا هرگونه رویداد قطع ارتباط که در پلتفرم شما رخ میدهد را به گوگل اطلاع دهید.
جریانهای پیوند حساب
سه جریان لینک کردن حساب گوگل وجود دارد که همگی مبتنی بر OAuth هستند و شما را ملزم به مدیریت یا کنترل نقاط پایانی مجوز و تبادل توکن سازگار با OAuth 2.0 میکنند.
در طول فرآیند پیوند، پس از اخذ رضایت صاحبان حساب برای پیوند دادن حسابهایشان و اشتراکگذاری دادهها، برای هر حساب گوگل، توکنهای دسترسی به گوگل صادر میکنید.
لینکدهی OAuth
این جریان لینکدهی OAuth است که کاربران را برای لینک دادن به وبسایت شما هدایت میکند. کاربر برای ورود به حساب کاربری خود به وبسایت شما هدایت میشود. پس از ورود به سیستم، کاربر با اشتراکگذاری دادههای خود در سرویس شما با گوگل موافقت میکند. در آن مرحله، حساب گوگل کاربر و سرویس شما به هم متصل میشوند.
لینک OAuth از کد مجوز و جریانهای OAuth ضمنی پشتیبانی میکند. سرویس شما باید میزبان یک نقطه پایانی مجوز سازگار با OAuth 2.0 برای جریان ضمنی باشد و هنگام استفاده از جریان کد مجوز، باید هم نقطه پایانی مجوز و هم نقطه پایانی تبادل توکن را در معرض نمایش قرار دهد.

شکل ۱. اتصال حساب کاربری روی گوشی کاربر با اتصال OAuth
پیوند معکوس برنامه مبتنی بر OAuth ('App Flip')
یک جریان OAuth که کاربران را برای لینک دادن به برنامه شما ارسال میکند.
قابلیت App Flip Linking مبتنی بر OAuth، کاربران را در حین جابجایی بین برنامههای تلفن همراه اندروید یا iOS تأیید شده شما و پلتفرم گوگل راهنمایی میکند تا تغییرات پیشنهادی دسترسی به دادهها را بررسی کرده و رضایت خود را برای پیوند حساب کاربریشان در پلتفرم شما با حساب گوگلشان اعلام کند. برای فعال کردن App Flip، سرویس شما باید از قابلیت OAuth linking یا ورود مبتنی بر OAuth با Google Linking با استفاده از جریان کد مجوز پشتیبانی کند.
App Flip هم برای اندروید و هم برای iOS پشتیبانی میشود.
چگونه کار میکند:
برنامه گوگل بررسی میکند که آیا برنامه شما روی دستگاه کاربر نصب شده است یا خیر:
- اگر برنامه پیدا شود، کاربر به برنامه شما "منتقل" میشود. برنامه شما رضایت کاربر را برای پیوند دادن حساب کاربری به گوگل دریافت میکند و سپس به سطح گوگل "برمیگردد".
- اگر برنامه پیدا نشود یا در طول فرآیند پیوند معکوس برنامه خطایی رخ دهد، کاربر به جریان پیوند ساده یا OAuth هدایت میشود.

شکل ۲. پیوند حساب کاربری در گوشی کاربر با App Flip
پیوند ساده مبتنی بر OAuth ('ساده')
ورود با گوگل مبتنی بر OAuth، پیونددهی ساده، ورود با گوگل را به پیونددهی OAuth اضافه میکند و به کاربران این امکان را میدهد که فرآیند پیونددهی را بدون ترک صفحه گوگل تکمیل کنند و در نتیجه، اصطکاک و عدم موفقیت را کاهش میدهد. پیونددهی ساده مبتنی بر OAuth با ترکیب ورود با گوگل با پیونددهی OAuth، بهترین تجربه کاربری را با ورود به سیستم، ایجاد حساب کاربری و پیونددهی حساب کاربری بدون مشکل ارائه میدهد. سرویس شما باید از نقاط پایانی مجوز و تبادل توکن سازگار با OAuth 2.0 پشتیبانی کند. علاوه بر این، نقطه پایانی تبادل توکن شما باید از ادعاهای JSON Web Token (JWT) پشتیبانی کند و اهداف check ، create و get را پیادهسازی کند.
چگونه کار میکند:
گوگل حساب کاربری را تأیید میکند و این اطلاعات را به شما منتقل میکند:
- اگر حسابی برای کاربر در پایگاه داده شما وجود داشته باشد، کاربر با موفقیت حساب گوگل خود را به حساب خود در سرویس شما پیوند میدهد.
- اگر هیچ حسابی برای کاربر در پایگاه داده شما وجود نداشته باشد، کاربر میتواند یا یک حساب کاربری 3P جدید با اطلاعات ادعا شدهای که گوگل ارائه میدهد ایجاد کند: ایمیل، نام و تصویر پروفایل ، یا اینکه وارد سیستم شود و با یک ایمیل دیگر لینک شود (این کار مستلزم آن است که آنها با استفاده از لینک OAuth به سرویس شما وارد شوند).

شکل ۳. اتصال حساب کاربری روی گوشی کاربر با استفاده از قابلیت اتصال ساده
از کدام جریان باید استفاده کنید؟
ما توصیه میکنیم همه جریانها را پیادهسازی کنید تا مطمئن شوید کاربران بهترین تجربه لینکسازی را دارند. جریانهای Streamlined و App flip اصطکاک لینکسازی را کاهش میدهند زیرا کاربران میتوانند فرآیند لینکسازی را در چند مرحله بسیار کم انجام دهند. جریان لینکسازی OAuth کمترین میزان تلاش را دارد و نقطه شروع خوبی است و پس از آن میتوانید جریانهای لینکسازی دیگر را اضافه کنید.
کار با توکنها
لینک کردن حساب گوگل بر اساس استاندارد صنعتی OAuth 2.0 انجام میشود.
شما پس از دریافت رضایت صاحبان حساب برای پیوند دادن حسابهایشان و اشتراکگذاری دادهها، برای هر حساب گوگل، توکنهای دسترسی به گوگل صادر میکنید.
انواع توکن
OAuth 2.0 از رشتههایی به نام توکن برای ارتباط بین عامل کاربر، برنامه کلاینت و سرور OAuth 2.0 استفاده میکند.
سه نوع توکن OAuth 2.0 میتوانند در طول پیوند حساب کاربری استفاده شوند:
کد مجوز . یک توکن کوتاهمدت که میتواند با یک توکن دسترسی و یک توکن بهروزرسانی مبادله شود. برای اهداف امنیتی، گوگل با نقطه پایانی مجوز شما تماس میگیرد تا یک کد یکبار مصرف یا بسیار کوتاهمدت دریافت کند.
توکن دسترسی . توکنی که به دارنده آن امکان دسترسی به یک منبع را میدهد. برای محدود کردن افشای اطلاعات ناشی از از دست دادن این توکن، طول عمر محدودی دارد که معمولاً پس از حدود یک ساعت منقضی میشود.
توکن تازهسازی . یک توکن با طول عمر بالا که میتواند با انقضای یک توکن دسترسی، با یک توکن دسترسی جدید مبادله شود. هنگامی که سرویس شما با گوگل ادغام میشود، این توکن منحصراً توسط گوگل ذخیره و استفاده میشود. گوگل نقطه پایانی تبادل توکن شما را برای مبادله توکنهای تازهسازی با توکنهای دسترسی فراخوانی میکند که به نوبه خود برای دسترسی به دادههای کاربر استفاده میشوند.
مدیریت توکن
شرایط رقابتی در محیطهای خوشهای و تبادلات کلاینت-سرور میتواند منجر به سناریوهای پیچیده زمانبندی و مدیریت خطا هنگام کار با توکنها شود. به عنوان مثال:
- شما درخواستی برای یک توکن دسترسی جدید دریافت میکنید و یک توکن دسترسی جدید صادر میکنید. همزمان، درخواستی برای دسترسی به منابع سرویس خود با استفاده از توکن دسترسی قبلی و منقضی نشده دریافت میکنید.
- پاسخ توکن بهروزرسانی شما هنوز توسط گوگل دریافت نشده است (یا هرگز دریافت نشده است). در همین حال، توکن بهروزرسانی معتبر قبلی در درخواستی از گوگل استفاده میشود.
درخواستها و پاسخها میتوانند به هر ترتیبی برسند، یا به دلیل سرویسهای ناهمزمان در حال اجرا در یک کلاستر، رفتار شبکه یا موارد دیگر، اصلاً نرسند.
تضمین وضعیت مشترک فوری و کاملاً سازگار، چه در داخل و چه بین سیستمهای مدیریت توکن شما و گوگل، امکانپذیر نیست. چندین توکن معتبر و منقضی نشده میتوانند در مدت زمان کوتاهی در داخل یا بین سیستمها وجود داشته باشند. برای به حداقل رساندن تأثیر منفی بر کاربر، توصیه میکنیم موارد زیر را انجام دهید:
- توکنهای دسترسی منقضی نشده را بپذیرید، حتی پس از اینکه توکن جدیدتری صادر شده است.
- از جایگزینهایی برای بهروزرسانی چرخش توکن استفاده کنید.
- از چندین توکن دسترسی و بهروزرسانی معتبر همزمان پشتیبانی کنید. برای امنیت، باید تعداد توکنها و طول عمر توکنها را محدود کنید.
نگهداری و مدیریت قطعی برق
در طول تعمیرات یا قطعیهای برنامهریزی نشده، گوگل ممکن است نتواند با نقاط پایانی مجوز یا تبادل توکن شما تماس بگیرد تا توکنهای دسترسی و بهروزرسانی را دریافت کند.
نقاط پایانی شما باید با کد خطای 503 و متن خالی پاسخ دهند. در این حالت، گوگل درخواستهای تبادل توکن ناموفق را برای مدت زمان محدودی دوباره امتحان میکند. در صورتی که گوگل بعداً بتواند توکنهای بهروزرسانی و دسترسی را دریافت کند، درخواستهای ناموفق برای کاربران قابل مشاهده نخواهند بود.
درخواستهای ناموفق برای توکن دسترسی، در صورتی که توسط کاربر آغاز شوند، منجر به خطای قابل مشاهده میشوند. در صورت استفاده از جریان ضمنی OAuth 2.0، کاربران ملزم به تلاش مجدد برای اتصال ناموفق خواهند بود.
توصیهها
راهحلهای زیادی برای به حداقل رساندن تأثیر تعمیر و نگهداری وجود دارد. برخی از گزینهها برای بررسی:
سرویس فعلی خود را حفظ کنید و تعداد محدودی از درخواستها را به سرویس بهروزرسانیشدهی جدید خود هدایت کنید. تنها پس از تأیید عملکرد مورد انتظار، تمام درخواستها را منتقل کنید.
کاهش تعداد درخواستهای توکن در طول دوره نگهداری:
دورههای نگهداری را به کمتر از طول عمر توکن دسترسی محدود کنید.
افزایش موقت طول عمر توکن دسترسی:
- افزایش طول عمر توکن به بیشتر از دوره نگهداری.
- دو برابر طول عمر توکن دسترسی خود صبر کنید، که به کاربران امکان میدهد توکنهای کوتاهمدت را با توکنهای با طول عمر بیشتر مبادله کنند.
- وارد بخش تعمیر و نگهداری شوید.
- به درخواستهای توکن با کد خطای
503و بدنه خالی پاسخ دهید. - خروج از تعمیر و نگهداری.
- کاهش طول عمر توکن و بازگشت به حالت عادی.
پیوند مداوم
اتصال پایدار یک الزام اصلی برای یکپارچهسازیهای پایدار است. این امر تضمین میکند که حسابهای کاربری حتی در هنگام خرابیهای گذرای شبکه یا بهروزرسانیهای دورهای اعتبارنامهها، همچنان متصل باقی بمانند.
برای پیادهسازی پیوند پایدار، از رویکرد «پنجره کشویی» استفاده کنید: به جای چرخاندن Refresh Token موجود ، انقضای آن را تمدید کنید (به بخش ۶ RFC 6749 مراجعه کنید). این کار از شرایط رقابتی و قطع ارتباط ناخواسته که میتواند در صورت صدور Refresh Token جدید اما عدم دریافت یا ذخیره موفقیتآمیز آن توسط گوگل رخ دهد، جلوگیری میکند.
ثبت نام در گوگل
برای فعال کردن اتصال حساب، به جزئیات تنظیمات OAuth 2.0 شما و اشتراکگذاری اعتبارنامهها نیاز داریم. برای جزئیات بیشتر به بخش ثبتنام مراجعه کنید.