ربط حساب Google باستخدام ميزة "قلب التطبيق" المستندة إلى بروتوكول OAuth

基于 OAuth 的应用快速关联 (App Flip) 关联功能可让用户快速将其在您的身份验证系统中的账号关联到其 Google 账号。 如果用户在发起账户关联过程时手机上已安装您的应用,系统会顺畅地将他们转到您的应用以获取用户授权。

这种方法可提供更快的账户关联过程,因为用户无需重新输入用户名和密码进行身份验证;相反,App Flip 会利用用户在您的应用中的账号凭据。用户将其 Google 账号与您的应用关联后,便可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置 App Flip。

此图显示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一张屏幕截图显示了用户如何选择您的应用(如果其 Google 账号已与您的应用相关联)。第二张屏幕截图显示了用户将其 Google 账号与您的应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户账号。
图 1.用户手机上使用 App Flip 进行账号关联。

要求

如需实现 App Flip,您必须满足以下要求:

  • 您必须拥有 Android 或 iOS 应用。
  • 您必须拥有、管理和维护支持 OAuth 2.0 授权代码流程的 OAuth 2.0 服务器。

基于 OAuth 的 App Flip 流程

以下序列图详细说明了用户、Google 应用、您的应用和您的授权服务器之间针对 App Flip 的交互。

用户 Google 应用 您的应用 Google 服务器 您的授权 服务器 1. 发起关联 2. 深层链接到您的应用 3. 显示意见征求屏幕 4. 用户授予意见征求 5. 获取授权代码 6. authorization_code 7. 返回到 Google 应用 8. 将代码传递给 Google 服务器 9. 令牌交换 (POST) 10. access_token, refresh_token 11. 存储用户令牌 12. 访问用户资源
图 2.App Flip 流程中的事件序列。 如果提供了授权代码,则令牌交换将以 服务器到服务器的方式进行,与基于浏览器的 OAuth 关联流程中的方式相同。

角色和职责

下表定义了 App Flip 流程中执行者的角色和职责。

执行者 / 组件 GAL 角色 职责
Google 应用 / 服务器 OAuth 客户端 发起账户关联过程,触发到您的移动应用深层链接,将授权代码交换为令牌,并安全地存储这些令牌以访问您服务的 API。
您的应用 授权代理 对用户进行身份验证(通常使用现有应用凭据), 获取意见征求,并从您的服务器检索授权代码。
您的授权服务器 授权服务器 验证授权代码和刷新令牌,并向 Google 服务器颁发访问 令牌。

إرشادات التصميم

يوضّح هذا القسم متطلبات التصميم واقتراحات شاشة الموافقة على ربط الحسابات في App Flip. بعد أن يتصل Google بتطبيقك، يعرض تطبيقك شاشة الموافقة للمستخدم.

المتطلبات

  1. يجب توضيح أنّ حساب المستخدم سيتم ربطه بحساب على Google، وليس بمنتج معيّن من Google، مثل Google Home أو "مساعد Google".

اقتراحات

ننصحك باتّخاذ الإجراءات التالية:

  1. عرض سياسة خصوصية Google تضمين رابط يؤدي إلى سياسة خصوصية Google في شاشة طلب الموافقة

  2. البيانات التي ستتم مشاركتها استخدِم لغة واضحة وموجزة لتوضيح البيانات التي تطلبها Google من المستخدمين وسبب طلبها.

  3. عبارة واضحة تحثّ على اتّخاذ إجراء: يجب تضمين عبارة واضحة تحثّ على اتّخاذ إجراء في شاشة الموافقة، مثل "الموافقة والربط"، لأنّ المستخدمين بحاجة إلى فهم البيانات التي يُطلب منهم مشاركتها مع Google لربط حساباتهم.

  4. إمكانية الرفض أو الإلغاء: توفير طريقة للمستخدمين للرجوع أو الرفض أو الإلغاء، إذا اختاروا عدم الربط

  5. إمكانية إلغاء الربط: توفير آلية للمستخدمين لإلغاء الربط، مثل عنوان URL يؤدي إلى إعدادات حساباتهم على منصتك بدلاً من ذلك، يمكنك تضمين رابط يؤدي إلى حساب Google حيث يمكن للمستخدمين إدارة حساباتهم المرتبطة.

  6. إمكانية تغيير حساب المستخدم اقترِح طريقة تتيح للمستخدمين التبديل بين حساباتهم. ويكون ذلك مفيدًا بشكل خاص إذا كان المستخدمون يميلون إلى امتلاك حسابات متعدّدة.

    • إذا كان على المستخدم إغلاق شاشة الموافقة للتبديل بين الحسابات، أرسِل خطأ قابلاً للاسترداد إلى Google ليتمكّن المستخدم من تسجيل الدخول إلى الحساب المطلوب باستخدام ربط الحسابات عبر OAuth ومسار الربط الضمني.
  7. تضمين شعارك: عرض شعار شركتك على شاشة الموافقة استخدِم إرشادات الأسلوب لتحديد موضع شعارك. إذا كنت تريد عرض شعار Google أيضًا، يُرجى الاطّلاع على الشعارات والعلامات التجارية.

يعرض هذا الشكل مثالاً على شاشة الموافقة مع توضيحات للمتطلبات الفردية والاقتراحات التي يجب اتّباعها عند تصميم شاشة موافقة المستخدم.
الشكل 2. إرشادات تصميم شاشة طلب الموافقة على ربط الحسابات

تنفيذ ميزة "تبديل التطبيقات" في تطبيقاتك

لتنفيذ ميزة "التبديل السريع بين التطبيقات"، عليك تعديل رمز تفويض المستخدم في تطبيقك لقبول رابط لصفحة في التطبيق من Google.

لإتاحة ميزة App Flip في تطبيق Android، اتّبِع التعليمات الواردة في دليل التنفيذ على Android.

لإتاحة ميزة "تبديل التطبيقات" في تطبيق iOS، اتّبِع التعليمات الواردة في دليل التنفيذ على iOS.

تجربة ميزة "ربط التطبيقات بسرعة"

يمكن محاكاة ميزة "تبديل التطبيقات" باستخدام تطبيقات نموذجية وتجريبية قبل توفّر تطبيقات الإنتاج التي تم التحقّق منها وخادم OAuth 2.0 يعمل.

أثناء استخدام ميزة "ربط التطبيقات بسرعة"، سيفتح أحد تطبيقات Google تطبيقك أولاً، ثم سيطلب رمز تفويض من خادم OAuth 2.0، وفي الخطوة الأخيرة، سيتم إرجاع الرد إلى تطبيق Google.

المتطلبات الأساسية

لمحاكاة أحد تطبيقات Google وتفعيل الغرض الذي يشغّل تطبيقك، نزِّل وثبِّت "أداة اختبار ميزة App Flip" على Android وiOS.

نزِّل تطبيق App Flip Sample وثبِّته على Android وiOS لمحاكاة تطبيقك واختيار نوع استجابة OAuth 2.0.

تسلسل الاختبار

  1. افتح "أداة اختبار App Flip".
  2. اضغط على Try Flip! لتشغيل تطبيق "نموذج تطبيق App Flip".
  3. اختَر ردًا من أزرار الاختيار في نموذج التطبيق.
  4. اضغط على Send لعرض ردّ محاكى لبروتوكول OAuth 2.0 في "أداة الاختبار".
  5. راجِع رسائل سجلّ "أداة الاختبار" بحثًا عن auth_code أو تفاصيل الخطأ.

اختبار الإصدار العلني

يمكن اختبار ميزة "تبديل التطبيقات" في مرحلة الإنتاج بعد إكمال عملية التسجيل وتنفيذ خادم OAuth 2.0.

ننصحك باستخدام حساب Google واحد وعنوان بريد إلكتروني خاص بالمهمة لإجراء الاختبارات المبرمَجة.

يمكن الاطّلاع على حالة ربط الحسابات باستخدام الحسابات المرتبطة عند تسجيل الدخول بصفتك صاحب حساب Google. يمكن أيضًا إلغاء ربط الحسابات بين الاختبارات المتكرّرة من هنا.

يمكنك اختياريًا تنفيذ RISC لإلغاء الربط آليًا وإعلام Google بالتغيير.