اختيار مسار الدمج
اختَر المسار الأنسب لاحتياجاتك:
| المسار | الأفضل لـ | مزيد من المعلومات |
|---|---|---|
| بروتوكول Universal Commerce Protocol (UCP) | التجّار وبائعو التجزئة | مستندات UCP |
| ربط الحساب العادي | المنزل الذكي والتلفزيون وYouTube | مستندات Google |
تتيح ميزة ربط الحسابات لأصحاب حسابات Google إمكانية الربط بخدماتك بسرعة وسلاسة وأمان. يمكنك اختيار تنفيذ ميزة "ربط الحساب على Google" لمشاركة بيانات المستخدم من منصتك مع تطبيقات وخدمات Google.
يتيح لك بروتوكول OAuth 2.0 الآمن ربط حساب المستخدم على منصتك بحساب Google بأمان، ما يمنح تطبيقات وأجهزة Google إذن الوصول إلى خدماتك.
يمكن للمستخدمين ربط حساباتهم أو إلغاء ربطها، ويمكنهم إنشاء حساب جديد على منصتك من خلال ميزة ربط حساب Google.
حالات الاستخدام
في ما يلي بعض الأسباب التي تستدعي تنفيذ عملية ربط حساب Google:
مشاركة بيانات أحد المستخدمين من منصتك مع تطبيقات Google وخدماتها
يمكنك التكامل مع Google Shopping ومساحات العرض المستندة إلى الذكاء الاصطناعي (مثل "بحث Google" وGemini) باستخدام بروتوكول Universal Commerce Protocol (UCP).
تشغيل محتوى الفيديو والأفلام باستخدام Google TV
إدارة أجهزة المنزل الذكي من Google المتصلة والتحكّم فيها باستخدام تطبيق Google Home و"مساعد Google"، مثل "Ok Google، شغِّل الأضواء"
يمكنك إنشاء تجارب ووظائف مخصّصة للمستخدمين في "مساعد Google" باستخدام الإجراءات الحوارية، مثل "Ok Google، اطلب لي قهوتي المعتادة من ستاربكس".
إتاحة الفرصة للمستخدمين لكسب مكافآت من خلال مشاهدة أحداث بث مباشر مؤهلة على YouTube بعد ربط حساب Google بحساب على منصة شريكة تقدّم مكافآت
تعبئة الحسابات الجديدة مسبقًا أثناء عملية الاشتراك بالبيانات التي تمت مشاركتها بموافقة المستخدم من الملف الشخصي لحساب Google
الإمكانات والمتطلبات
تحدّد المصفوفة التالية إمكانية الاستخدام والاقتراحات لكل مسار ربط.
| Linking Flow | الميزات العادية | ميزات بروتوكول UCP |
|---|---|---|
| App Flip | خيار ننصح به | خيار ننصح به |
| الربط المبسّط | خيار ننصح به | خيار ننصح به |
| ربط الحسابات باستخدام OAuth | مطلوب (الخيار الاحتياطي) | مطلوب (الخيار الاحتياطي) |
| OAuth 2.1 | خيار ننصح به | خيار ننصح به |
تحسين خصوصية المستخدم من خلال تحديد نطاقات مخصّصة لمشاركة البيانات الضرورية فقط، وزيادة ثقة المستخدم من خلال تحديد كيفية استخدام بياناته بوضوح
يمكن إبطال إذن الوصول إلى البيانات والخدمات المستضافة على منصتك من خلال إلغاء ربط الحسابات. يتيح لك تنفيذ نقطة نهاية اختيارية لإبطال الرمز المميز البقاء على اطّلاع دائم على الأحداث التي تبدأها Google، بينما تتيح لك ميزة الحماية بين الحسابات(RISC) إرسال إشعار إلى Google بشأن أي أحداث إلغاء ربط تحدث على منصتك.
مسارات ربط الحساب
تتوفّر 3 طرق لربط حساب Google، وكلّها تستند إلى بروتوكول OAuth وتتطلّب منك إدارة أو التحكّم في نقاط نهاية تبادل الرموز المميزة والتفويض المتوافقة مع الإصدار 2.0 من OAuth.
أثناء عملية الربط مع حساب حالي، يمكنك إصدار رموز الدخول إلى حسابات Google الفردية بعد الحصول على موافقة أصحاب الحسابات على الربط بين حساباتهم ومشاركة البيانات.
الربط باستخدام OAuth
هذا هو مسار الربط باستخدام OAuth الذي يرسل المستخدمين إلى موقعك الإلكتروني لإجراء عملية الربط. تتم إعادة توجيه المستخدم إلى موقعك الإلكتروني لتسجيل الدخول إلى حسابه. بعد تسجيل الدخول، يوافق المستخدم على مشاركة بياناته على خدمتك مع Google. في هذه المرحلة، يتم ربط حساب المستخدم على Google بخدمتك.
يتوافق ربط الحسابات باستخدام OAuth مع مسارَي OAuth الضمني ورمز التفويض. يجب أن تستضيف خدمتك نقطة نهاية تفويض متوافقة مع OAuth 2.0 للمسار الضمني، ويجب أن تعرض نقطة نهاية تفويض ونقطة نهاية لتبادل الرموز المميزة عند استخدام مسار رمز التفويض.
الشكل 1 ربط الحسابات على هاتف المستخدم باستخدام ربط OAuth
ربط الحسابات باستخدام ميزة "ربط التطبيقات بسرعة" المستندة إلى OAuth (App Flip)
مسار OAuth يوجّه المستخدمين إلى تطبيقك لربط الحساب.
توجّه ميزة ربط الحسابات باستخدام App Flip المستند إلى OAuth المستخدمين أثناء التنقّل بين تطبيقات Android أو iOS المتوافقة مع الأجهزة الجوّالة ومنصة Google لمراجعة التغييرات المقترَحة على إذن الوصول إلى البيانات ومنح موافقتهم على ربط حساباتهم على منصتك بحسابهم على Google. لتفعيل ميزة App Flip، يجب أن تتيح خدمتك ربط الحسابات باستخدام بروتوكول OAuth أو ربط الحسابات باستخدام ميزة "تسجيل الدخول باستخدام حساب Google" المستندة إلى بروتوكول OAuth باستخدام عملية رمز التفويض.
تتوفّر ميزة "تبديل التطبيقات" على كلّ من Android وiOS.
طريقة العمل:
يتحقّق تطبيق Google مما إذا كان تطبيقك مثبَّتًا على جهاز المستخدم:
- إذا تم العثور على التطبيق، يتم "نقل" المستخدم إلى تطبيقك. يجمع تطبيقك موافقة المستخدم لربط الحساب بخدمة Google، ثم يتم "نقله مرة أخرى" إلى مساحة عرض Google.
- في حال عدم العثور على التطبيق أو حدوث خطأ أثناء عملية ربط التطبيقات بسرعة، ستتم إعادة توجيه المستخدم إلى عملية الربط المبسّطة أو عملية الربط باستخدام OAuth.
الشكل 2 ربط الحسابات على هاتف المستخدم باستخدام ميزة "التبديل السريع بين التطبيقات"
الربط السلس المستند إلى بروتوكول OAuth ("الربط السلس")
تضيف ميزة ربط الحسابات بسلاسة من خلال ميزة "تسجيل الدخول باستخدام حساب Google" المستندة إلى OAuth ميزة "تسجيل الدخول باستخدام حساب Google" إلى عملية الربط المستندة إلى OAuth، ما يتيح للمستخدمين إكمال عملية الربط بدون مغادرة مساحة Google، وبالتالي تقليل المشاكل وعمليات الإغلاق.
توفّر عملية الربط المبسّطة المستندة إلى OAuth أفضل تجربة للمستخدمين من خلال تسجيل الدخول وإنشاء الحساب وربطه بسلاسة، وذلك من خلال الجمع بين ميزة "تسجيل الدخول باستخدام حساب Google" وعملية الربط المستندة إلى OAuth. يجب أن تتيح خدمتك نقاط نهاية متوافقة مع OAuth 2.0 لتبادل الرموز المميزة ومنح التفويض.
بالإضافة إلى ذلك، يجب أن تتيح نقطة نهاية تبادل الرموز المميزة تأكيدات رمز JSON المميّز للويب (JWT) وأن تنفّذ الأهداف check وcreate وget.
طريقة العمل:
تؤكّد Google حساب المستخدم وتمرّر هذه المعلومات إليك:
- إذا كان هناك حساب للمستخدم في قاعدة البيانات، يربط المستخدم حسابه على Google بحسابه على خدمتك بنجاح.
- إذا لم يكن هناك حساب للمستخدم في قاعدة البيانات، يمكن للمستخدم إما إنشاء حساب جديد تابع لجهة خارجية باستخدام المعلومات التي تقدّمها Google: البريد الإلكتروني والاسم وصورة الملف الشخصي، أو اختيار تسجيل الدخول والربط بعنوان بريد إلكتروني آخر (سيتطلب ذلك تسجيل الدخول إلى خدمتك باستخدام الربط عبر OAuth).
الشكل 3 ربط الحسابات على هاتف المستخدم باستخدام ميزة "الربط السلس"
أي مسار يجب استخدامه؟
ننصحك بتنفيذ جميع خطوات الربط لضمان حصول المستخدمين على أفضل تجربة ربط. تساهم مسارات الربط السلس وربط التطبيقات بسرعة في تقليل المشاكل المتعلقة بالربط، إذ يمكن للمستخدمين إكمال عملية الربط مع حساب حالي في بضع خطوات فقط. تتطلّب عملية الربط باستخدام OAuth أقل جهد، وهي نقطة بداية جيدة يمكنك بعدها إضافة عمليات الربط الأخرى.
العمل باستخدام الرموز المميزة
تستند عملية ربط حساب Google إلى معيار OAuth 2.0 المتّبع في المجال.
يمكنك إصدار رموز مميّزة للوصول إلى حسابات Google الفردية بعد الحصول على موافقة أصحاب الحسابات على ربط حساباتهم ومشاركة البيانات.
Token types
OAuth 2.0 uses strings called tokens to communicate between the user agent, the client application, and the OAuth 2.0 server.
Three types of OAuth 2.0 tokens can be used during account linking:
Authorization code. A short-lived token that can be exchanged for an access and a refresh token. For security purposes, Google calls your authorization endpoint to obtain a single use or very short-lived code.
Access token. A token that grants the bearer access to a resource. To limit exposure that could result from the loss of this token, it has a limited lifetime, usually expiring after an hour or so.
Refresh token. A long-lived token that can be exchanged for a new access token when an access token expires. When your service integrates with Google, this token is exclusively stored and used by Google. Google calls your token exchange endpoint to exchange refresh tokens for access tokens, which are in turn used to access user data.
Token handling
Race conditions in clustered environments and client-server exchanges can result in complex timing and error handling scenarios when working with tokens. For example:
- You receive a request for a new access token, and you issue a new access token. Concurrently, you receive a request for access to your service's resource using the previous, unexpired access token.
- Your refresh token reply is yet to be received (or is never received) by Google. Meanwhile, the previously valid refresh token is used in a request from Google.
Requests and replies can arrive in any order, or not at all due to asynchronous services running in a cluster, network behavior, or other means.
Immediate and fully consistent shared state both within, and between, your and Google's token handling systems cannot be guaranteed. Multiple valid, unexpired tokens can coexist within or across systems short period of time. To minimize negative user impact we recommend you do the following:
- Accept unexpired access tokens, even after a newer token is issued.
- Use alternatives to Refresh Token Rotation.
- Support multiple, concurrently valid access and refresh tokens. For security, you should limit the number of tokens and token lifetime.
Maintenance and outage handling
During maintenance or unplanned outages Google might be unable to call your authorization or token exchange endpoints to obtain access and refresh tokens.
Your endpoints should respond with a 503 error code and empty body. In this
case, Google retries failed token exchange requests for a limited time. Provided
that Google is later able to obtain refresh and access tokens, failed requests
are not visible to users.
Failing requests for an access token result in a visible error, if initiated by a user. Users will be required to retry linking failures if the implicit OAuth 2.0 flow is used.
Recommendations
There are many solutions to minimize maintenance impact. Some options to consider:
Maintain your existing service and route a limited number of requests to your newly updated service. Migrate all requests only after confirming expected functionality.
Reduce the number of token requests during the maintenance period:
Limit maintenance periods to less than the access token lifetime.
Temporarily increase the access token lifetime:
- Increase token lifetime to greater than maintenance period.
- Wait twice the duration of your access token lifetime, enabling users to exchange short lived tokens for longer duration tokens.
- Enter maintenance.
- Respond to token requests with a
503error code and empty body. - Exit maintenance.
- Decrease token lifetime back to normal.
الربط الدائم
الربط المستمر هو شرط أساسي لعمليات الدمج المستقرة. ويضمن ذلك بقاء حسابات المستخدمين مرتبطة حتى أثناء حدوث أعطال مؤقتة في الشبكة أو عمليات إعادة تحميل دورية لبيانات الاعتماد.
لتنفيذ الربط المستمر، استخدِم أسلوب "النافذة المنزلقة": يمكنك تمديد مدة انتهاء صلاحية رمز التحديث الحالي بدلاً من تدويره (مع الرجوع إلى القسم 6 من RFC 6749). يمنع ذلك حدوث حالات تعارض وإلغاء ربط غير مقصود يمكن أن يحدث إذا تم إصدار رمز مميز جديد لإعادة التحقّق من الهوية ولكن لم يتم استلامه أو تخزينه بنجاح من قِبل Google.
التسجيل باستخدام حساب Google
سنحتاج إلى تفاصيل إعداد OAuth 2.0 ومشاركة بيانات الاعتماد لتفعيل ربط الحساب. يمكنك الاطّلاع على التسجيل لمعرفة التفاصيل.