يجب أن تحصل تطبيقات الويب على رمز دخول لاستدعاء Google APIs بشكل آمن.
تتوافق مكتبة Google Identity Services JavaScript مع كلٍّ من المصادقة لتسجيل دخول المستخدم والتفويض للحصول على رمز دخول لاستخدامه مع Google APIs. ولا يُقصد استخدام المكتبة إلا في المتصفّحات.
تحدّد المصادقة هوية المستخدم، ويُشار إليها عادةً باسم تسجيل المستخدم أو تسجيل الدخول. التفويض هو عملية منح إذن الوصول إلى البيانات أو الموارد أو رفضه. ويشمل ذلك الحصول على موافقة المستخدم وإدارتها، والحدّ من مقدار البيانات أو الموارد التي تتم مشاركتها مع النطاقات، واسترداد رمز دخول لاستخدامه مع Google APIs.
تتناول هذه الأدلة مواضيع التفويض ومشاركة البيانات.
يصف دليل كيفية عمل تفويض المستخدم الخطوات الفردية لتفويض المستخدم بالتفصيل ويتضمّن أمثلة على مربّعات حوار المستخدم.
إذا كنت تبحث عن مساعدة بشأن المصادقة وكيفية تنفيذ عملية تسجيل المستخدم وتسجيل الدخول، يمكنك الاطّلاع على مقالة تسجيل الدخول باستخدام حساب Google.
التغييرات التي أُجريت
بالنسبة إلى المستخدمين، توفّر مكتبة Google Identity Services العديد من التحسينات على سهولة الاستخدام مقارنةً بمكتبات JavaScript السابقة، بما في ذلك:
- تتضمّن الآن كلٌّ من المصادقة لتسجيل دخول المستخدم والتفويض للحصول على رمز دخول لاستدعاء Google APIs مسارَي مستخدم منفصلَين ومميّزَين، أحدهما لتسجيل الدخول والآخر للحصول على الموافقة أثناء التفويض، مع مسارَي مستخدم منفصلَين للتمييز بوضوح بين هويتك وما يمكن أن يفعله التطبيق.
- تحسين مستوى الوضوح والتحكّم الدقيق في مشاركة البيانات أثناء موافقة المستخدم.
- مربّعات حوار مستندة إلى المتصفّح للحدّ من المشاكل، ولا تتطلّب من المستخدمين مغادرة موقعك الإلكتروني من أجل:
- الحصول على رمز دخول من Google، أو
- إرسال رمز تفويض إلى منصة الخلفية.
بالنسبة إلى المطوّرين، ركّزنا على تقليل التعقيد وتحسين الأمان وتبسيط عملية التكامل. في ما يلي بعض هذه التغييرات:
- تُعدّ كلٌّ من مصادقة المستخدم لتسجيل الدخول والتفويض المُستخدَم للحصول على رمز دخول لاستدعاء Google APIs مجموعتَين منفصلتَين ومميّزتَين من كائنات JavaScript والأساليب. ويقلّل ذلك من التعقيد ومقدار التفاصيل المطلوبة لتنفيذ المصادقة أو التفويض.
- تتوافق الآن مكتبة JavaScript واحدة مع كلٍّ من:
- مسار OAuth 2.0 الضمني، المُستخدَم للحصول على رمز دخول لاستخدامه في المتصفّح
- مسار رمز تفويض OAuth 2.0، المعروف أيضًا باسم الوصول بلا إنترنت، ويبدأ عملية تسليم رمز تفويض بشكل آمن إلى منصة الخلفية، حيث يمكن استبداله برمز دخول ورمز إعادة تحميل. في السابق، لم يكن هذان المساران متاحَين إلا باستخدام مكتبات متعددة ومن خلال طلبات مباشرة إلى نقاط نهاية OAuth 2.0. تؤدي مكتبة واحدة إلى تقليل وقت وجهد عملية التكامل، وبدلاً من تضمين مكتبات متعددة ومفاهيم OAuth 2.0 وتعلُّمها، يمكنك التركيز على واجهة موحّدة واحدة.
- تمت إزالة التوجيه غير المباشر من خلال الدوال التي تستخدم نمط getter لتبسيط التعليمات البرمجية وتحسين إمكانية قراءتها.
- عند معالجة استجابات التفويض، يمكنك اختيار ما إذا كنت تريد استخدام Promise لتلبية الطلبات أم لا، بدلاً من أن يتم اتخاذ هذا القرار نيابةً عنك.
- تم تعديل Google API Client Library for JavaScript بهذه التغييرات:
- لم يعُد يتم تحميل الوحدة
gapi.auth2والكائنات والأساليب المرتبطة بها تلقائيًا في الخلفية، وتم استبدالها بكائنات وأساليب أكثر وضوحًا في مكتبة Google Identity Services. - تمت إزالة عملية إعادة تحميل رموز الدخول المنتهية الصلاحية تلقائيًا لتحسين أمان المستخدم وزيادة وعيه. بعد انتهاء صلاحية رمز الدخول، يجب أن يعالج تطبيقك استجابات الأخطاء من Google API، وأن يطلب رمز دخول جديدًا صالحًا ويحصل عليه.
- لتحقيق فصل واضح بين لحظات المصادقة والتفويض، لم يعُد مسموحًا بتسجيل دخول المستخدم إلى تطبيقك وحسابه على Google في الوقت نفسه مع إصدار رمز دخول. في السابق، كان طلب رمز الدخول يؤدي أيضًا إلى تسجيل دخول المستخدمين إلى حساب Google وعرض بيانات اعتماد رمز تعريف JWT لمصادقة المستخدم.
- لم يعُد يتم تحميل الوحدة
- لزيادة أمان المستخدم وخصوصيته، تتّبع بيانات الاعتماد التي يتم إصدارها لكل مستخدم لأغراض التفويض مبدأ منح أقل الامتيازات من خلال تضمين رمز دخول فقط والمعلومات المطلوبة لإدارته.