دليل مفاهيم ربط "تسجيل الدخول المبسّط" باستخدام بروتوكول OAuth

"التبسيط" لتسجيل الدخول إلى Google المستنِد إلى بروتوكول OAuth يضيف نوع الربط تسجيل الدخول إلى Google بالإضافة إلى ربط الحسابات المستنِدة إلى بروتوكول OAuth إذا كنت تستخدم هذا النوع من الربط في الإجراء الخاص بك، سيتم بتسجيل الدخول إلى Google، الذي يتيح لك التحقق مما إذا كان حساب وجود معلومات ملف شخصي في نظامك. وفي حال عدم حدوث ذلك، سيبدأ تدفق OAuth العادي. تبدأ. من خلال توفير مجموعة من هذين النوعين من الروابط، يتمكن المستخدمون من إجراء الربط هويتهم في الإجراء الخاص بك إما من خلال حساب على "Google" أو "غير حساب Google" في حال حذف الذي يختاره المستخدم، ويمكنه أيضًا إنشاء حساب جديد باستخدام ملفه الشخصي في Google المعلومات.

يُعدّ الربط المبسّط الحل الموصى به لربط الحسابات في حال حدوث أي من ينطبق ما يلي:

  • لديك إجراء يمتد إلى عدة منصات (على سبيل المثال، إذا كان الإجراء يعمل مع أحد تطبيقات Android).
  • لديك نظام مصادقة حالي وتريد السماح للمستخدمين ربط هوياتهم بحسابات غير تابعة لـ Google على سبيل المثال، إذا كنت تقدم برنامج ولاء ويريد التأكد من أن المستخدم لا يفقد النقاط المتراكمة على حساباتهم الحالية

للتأكّد من أنّ الربط السلس هو الحل المناسب لك، اطّلِع على اختيار نوع ربط الحساب

العبارات الرئيسية

قبل أن تقرأ عن آلية عمل الربط السلس، ننصحك بالتعرّف على وفقًا للبنود التالية:

  • الرمز المميّز لمعرّف Google: هو تأكيد موقَّع على هوية المستخدم التي تحتوي على المعلومات الأساسية في الملف الشخصي للمستخدم في Google (الاسم وعنوان البريد الإلكتروني صورة ملفك الشخصي). الرمز المميز لمعرف Google هو رمز JSON المميّز للويب (JWT). في ما يلي مثال على رمز مميّز تم فك ترميزه:
{
  "sub": 1234567890,        // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The token's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
  "iat": 233366400,         // Unix timestamp of the token's creation time
  "exp": 233370000,         // Unix timestamp of the token's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "locale": "en_US"
}
  • user.verificationStatus: سمة يحدّدها النظام للإشارة إلى ما إذا كانت تضم الجلسة الحالية مستخدمًا معتمدًا.

  • user.accountLinkingStatus: سمة يحدّدها النظام للإشارة إلى ما إذا كانت المستخدم في الجلسة الحالية لديه هوية مرتبطة.

  • مشهد نظام ربط الحسابات: مشهد محدد مسبقًا يتم تنفيذه التأكيد لربط الحسابات، ويمكن تخصيصها ليناسب حالات استخدام معيّنة.

  • مسار رمز التفويض: وهو مسار OAuth 2.0 الذي يمكنك تنفيذه باستخدامه. عملية ربط سلسة: يتطلب هذا التدفق نقطتَي نهاية:

    • نقطة نهاية التفويض: نقطة النهاية التي تعرض واجهة مستخدم تسجيل الدخول إلى المستخدمين الذين لم يسجّلوا الدخول من قبل يحفظ السجلّ الموافقة على طلب الوصول في شكل رمز تفويض قصير الأجل.
    • نقطة نهاية تبادل الرموز المميّزة: تكون نقطة النهاية هذه مسؤولة عن نوعَين. من عمليات التبادل:
      1. استبدال رمز تفويض برمز مميّز طويل الأمد لإعادة التحميل ورمز دخول قصير الأجل. ويحدث هذا التبادل عندما يستعمل المستخدم خلال عملية ربط الحسابات.
      2. يستبدل رمز مميز لإعادة التحميل طويل الأجل للحصول على إمكانية وصول قصير الأجل الرمز المميز. يحدث هذا التبادل عندما تحتاج Google إلى رمز دخول جديد لأنه قد انتهت صلاحيته.
  • مسار الرمز الضمني: مسار OAuth 2.0 الذي يمكنك تنفيذه باستخدام عملية ربط سلسة: لا يتطلب هذا التدفق سوى نقطة نهاية التفويض. وأثناء هذه العملية، تفتح Google نقطة نهاية التفويض في حساب المتصفح. إذا تم تسجيل الدخول بنجاح، يتم إرجاع رمز دخول طويل الأجل إلى Google. يتم الآن تضمين رمز الدخول هذا في كل طلب يتم إرساله من "مساعد Google" للانتقال إلى المهمّة الخاصة بك.

  • رمز الدخول: هو رمز مميز يفوض خدمتك بالوصول إلى أجزاء من بيانات المستخدم. تكون رموز الدخول مرتبطة بكل مستخدم فردي.

  • الرمز المميّز لإعادة التحميل: هو رمز مميّز يتم استبداله برمز دخول جديد بعد انتهت صلاحية رمز الدخول قصير الأجل.

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

لاستخدام نوع الربط البسيط، ستحتاج إلى ما يلي:

  • خادم OAuth 2.0
  • نقطة نهاية تبادل الرموز المميّزة

    ويجب توسيع نقطة نهاية تبادل الرموز المميّزة لإتاحة إمكانية استخدام بروتوكولات الربط التلقائي وإنشاء الحساب من الرمز المميز للتعريف (أي إضافة المعلمتين intent=get وintent=create في الطلبات إلى نقطة النهاية هذه).

آلية العمل

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

يأتي التدفق الأساسي على النحو التالي:

  1. يطلب الإجراء الخاص بك من المستخدم الموافقة على وصوله إلى ملفه الشخصي على Google.
  2. بعد أن يمنح المستخدم موافقته، يتلقّى الإجراء الخاص بك رمزًا مميّزًا لمعرّف Google. يحتوي على معلومات الملف الشخصي للمستخدم في حساب Google.
  3. يجب التحقّق من صحة الرمز المميّز وفك ترميزه لقراءة محتوى الملف الشخصي.
  4. يستخدم الإجراء الخاص بك هذا الرمز المميّز للتحقّق مما إذا كان الملف الشخصي للمستخدم في حساب Google. وجود معلومات في نظامك.
    1. إذا حدث ذلك، فهذا يعني أن المستخدم قد سجّل الدخول إلى نظامك من خلال حساب Google، ويربط "مساعد Google" هوية المستخدم حساب Google الخاص بك. يمكن للمستخدم متابعة المحادثة مع "مساعد Google" مع ربط الحساب
    2. وإذا لم يحدث ذلك، راجِع الخطوة 5.
  5. يمكن للمستخدم إما أ) إنشاء حساب جديد باستخدام ملفه الشخصي في Google أو ب) سجّل الدخول إلى نظامك باستخدام حساب مختلف. تشير رسالة الأشكال البيانية تختلف الخيارات التي يقدمها المستخدم بناءً على ما إذا قمت بتمكين أو إيقاف إنشاء الحساب عبر الصوت. إذا اختار المستخدم تسجيل الدخول إلى حسابك بحساب مختلف، يبدأ تدفق OAuth القياسي.
  6. بعد أن ينشئ المستخدم حسابًا جديدًا أو يسجّل الدخول باستخدام مزوّد خدمة مختلف، تؤدي الخدمة إلى إرجاع رمز الدخول إلى Google. (إذا كنت تستخدم مسار رمز التفويض، تعرض خدمتك أيضًا رمزًا مميزًا للتحديث).
  7. يمكن للمستخدم الآن مواصلة المحادثة مع "مساعد Google" باستخدام تم ربط الحساب.

مسارات ربط سلسة

يتناول هذا القسم التدفقات المختلفة التي يمكن أن تحدث مع الربط السلس. وتستعرض هذه المخطّطات المسارات التي تحدث مع مسار رمز التفويض. بدلاً من تدفق الرمز الضمني، وتفترض أنك تستخدم "أداة إنشاء المهام".

يحتوي كل مسار على هذه الخطوات الشائعة بعد أن يستدعي المستخدم الإجراء الخاص بك:

في التدفق أعلاه، يمكنك الانتقال إلى مشهد نظام ربط الحسابات وتقديم مبرر منطقي مخصص. المشهد يطلب من المستخدم الإذن بالوصول معلومات الملف الشخصي في Google. بعد موافقة المستخدِم، يرسل "مساعد Google" طلب يحتوي على معلومات الملف الشخصي لـ user@gmail.com.

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

مسارات مع تفعيل إنشاء حساب Google Voice

يوضّح هذا القسم بالتفصيل مسارات ربط الحسابات التي يمكن أن تحدث في حال تفعيل الميزة. إنشاء الحساب عبر الصوت.

المسار 1: توفُّر معلومات المستخدم في نظامك

في هذه الحالة، يوجد المستخدم الذي يتم تمثيله من خلال user@gmail.com في الخلفية، لكي تعرض نقطة نهاية تبادل الرموز المميزة رمزًا مميزًا للمستخدم. مسئولية المستخدم هويتك في الإجراء الخاص بك مرتبطة الآن بحسابهم على Google. مسئولية المستخدم يتطابق الطلب الأصلي ("طلبي كالمعتاد") مع نية المستخدم بالشراء order_drink. يعالج الرد التلقائي على الويب بعد ذلك تنفيذ النية المطابقة وطلبات البحث قاعدة البيانات بترتيب user@gmail.com المعتاد. يمكن للمستخدم بعد ذلك متابعة للمحادثة مع "مساعد Google".

المسار 2: معلومات المستخدم غير موجودة وأنشأ المستخدم حسابًا

لأنك فعّلت إنشاء الحساب عبر الصوت وuser@gmail.com لا في الخلفية، يسأل "مساعد Google" المستخدم ما إذا كان يريد تنفيذ أيًا مما يلي:

أ) إنشاء حساب جديد على نظامك باستخدام معلومات ملفه الشخصي في Google، والذي يتم إنجازه بالصوت

ب) سجّل الدخول إلى النظام باستخدام حساب مختلف

في هذه الحالة، يختار المستخدم إنشاء حساب جديد عبر الصوت. مكالمات Google نقطة نهاية تبادل الرموز المميّزة لخدمتك من خلال طلب إنشاء حساب يحتوي هذا الطلب على الرمز المميز لمعرّف Google، والذي يتضمن المكونات المطلوبة لإنشاء حساب جديد. يمكنك بعد ذلك استخدام المعلومات من هذا الرمز (اسم المستخدم وعنوان بريده الإلكتروني) لإنشاء حساب للمستخدم.

بعد إنشاء الحساب، تعرض الخدمة رمز الدخول وتتم إعادة تحميل الصفحة. الذي تم إنشاؤه للحساب الجديد. تظهر الآن هوية المستخدم في الإجراء الخاص بك مرتبطة بحسابهم على Google. طلب المستخدم الأصلي ("طلبي كالمعتاد") يطابق قصد المستخدم order_drink. ردّك التلقائي على الويب ثم يعالج تنفيذ الأهداف المطابقة وطلبات البحث في قاعدة البيانات ترتيب user@gmail.com المعتاد، وهو غير متوفّر بعد لأنّ المستخدِم جديد. يمكن للإجراء بعد ذلك أن يسأل المستخدم عما يريد أن يطلبه.

المسار 3: معلومات المستخدم غير متوفّرة ويسجِّل المستخدم الدخول باستخدام حساب مختلف

لقد فعّلت إنشاء الحسابات عبر الصوت، لذلك يسأل "مساعد Google" المستخدم ما إذا كان فإنه يريد إجراء أي مما يلي:

أ) إنشاء حساب جديد على نظامك باستخدام معلومات ملفه الشخصي في Google، والذي يتم إنجازه بالصوت

ب) سجّل الدخول إلى النظام باستخدام حساب مختلف

في هذه الحالة، يختار المستخدم تسجيل الدخول باستخدام حساب مختلف، تدفق OAuth القياسي. إذا بدأ التدفق على جهاز صوتي فقط، وتنقل Google عملية التنفيذ إلى الهاتف. يفتح تطبيق Google بعد ذلك نقطة نهاية التفويض في متصفح المستخدم، بناءً على المستخدم، يمكن للمستخدم اختيار ما إذا كان يريد أ) تسجيل الدخول إلى الخدمة باستخدام حساب حالي لا يستخدم معلومات تسجيل الدخول بحساب Google أو ب) إنشاء حساب جديد باستخدام مزود خدمة مختلف. لمزيد من المعلومات حول مسار OAuth، يُرجى الاطّلاع على دليل مفهوم ربط OAuth

بعد إثبات صحة بيانات اعتماد المستخدم، تعرض الخدمة رمز دخول. ورمز مميز للتحديث إلى Google تم الآن ربط هوية المستخدم في الإجراء الخاص بك. إلى حساب غير تابع لـ Google يتطابق طلب المستخدم الأصلي ("طلبي كالمعتاد") نية المستخدم order_drink.، سيعالج الرد التلقائي على الويب تنفيذ الغرض المطابق والاستعلام عن قاعدة بياناتك بترتيب user@gmail.com المعتاد، وهي غير موجودة بعد لأن المستخدم جديد. يمكن للإجراء الخاص بك بعد ذلك أن يطلب المستخدم ما يريد أن يطلبه أو يطلب منه إعداد ترتيبه المعتاد.

تم إيقاف المسار مع إنشاء حساب Voice.

يوضّح هذا القسم تفاصيل عملية ربط الحسابات التي يمكن أن تحدث في حال إيقاف. إنشاء الحساب عبر الصوت.

المسار 4: معلومات المستخدم غير موجودة

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

بعد إثبات صحة بيانات اعتماد المستخدم، تعرض الخدمة رمز دخول. ورمز مميز للتحديث إلى Google تم الآن ربط هوية المستخدم في الإجراء الخاص بك. إلى حساب غير تابع لـ Google يتطابق طلب المستخدم الأصلي ("طلبي كالمعتاد") نية المستخدم order_drink.، سيعالج الرد التلقائي على الويب تنفيذ الغرض المطابق والاستعلام عن قاعدة بياناتك بترتيب user@gmail.com المعتاد، وهي غير موجودة بعد لأن المستخدم جديد. يمكن للإجراء الخاص بك بعد ذلك أن يطلب المستخدم لإعداد ترتيبه المعتاد.