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