التفويض للويب

يجب أن تحصل تطبيقات الويب على رمز دخول للاتصال بواجهات Google APIs بأمان.

تتوافق مكتبة JavaScript لخدمات Google Identity مع كل من مصادقة تسجيل دخول المستخدم والتفويض للحصول على رمز دخول لاستخدامه مع واجهات برمجة تطبيقات Google. المكتبة مصممة للاستخدام في المتصفحات فقط.

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

تتناول هذه الأدلة مواضيع التفويض ومشاركة البيانات.

آلية عمل تفويض المستخدم تصف الخطوات الفردية لتفويض المستخدم بالتفصيل وتتضمّن أمثلة لمربع حوار المستخدم.

إذا كنت تبحث عن مساعدة بشأن المصادقة وكيفية إجراء اشتراك المستخدم وتسجيل الدخول، راجع صفحة تسجيل الدخول باستخدام حساب Google.

هذه المكتبة غير مخصصة للاستخدام مع إطارات عمل JavaScript من جهة الخادم مثل Node.js، ويمكنك بدلاً من ذلك استخدام مكتبة برامج Node.js من Google.

التغييرات التي أُجريت

بالنسبة إلى المستخدمين، توفّر مكتبة Google Identity Services العديد من تحسينات قابلية الاستخدام مقارنةً بمكتبات JavaScript السابقة، بما في ذلك:

  • أصبحت المصادقة لتسجيل دخول المستخدم، والتفويض للحصول على رمز الدخول لاستدعاء واجهات برمجة تطبيقات Google، تشتمل الآن على مسارين منفصلين ومميّزين للمستخدِم؛ أحدهما لتسجيل الدخول والآخر للموافقة أثناء التفويض، مع تدفقات منفصلة للمستخدم لتمييز هويتك بوضوح وما يمكن لأي تطبيق فعله.
  • تم تحسين مستوى الرؤية والتحكُّم الدقيق في مشاركة البيانات أثناء موافقة المستخدم.
  • مربّعات حوار منبثقة مستندة إلى المتصفّح للحد من الصعوبات التي تواجهها، والتي لا تتطلّب من المستخدمين مغادرة موقعك الإلكتروني لإجراء ما يلي:
    • الحصول على رمز الدخول من Google، أو
    • إرسال رمز تفويض إلى النظام الأساسي للخلفية.

وكان تركيزنا ينصبّ على تقليل التعقيدات، وتحسين مستوى الأمان، وتسهيل عملية الدمج قدر الإمكان. بعض هذه التغييرات هي:

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