معلومات عن المصادقة والتفويض

المصادقة والترخيص هما آليات تستخدم للتحقق من الهوية والوصول إلى الموارد، على التوالي. يحدد هذا المستند المصطلحات الأساسية التي ينبغي أن تعرفها قبل تنفيذ المصادقة والترخيص في تطبيقك.

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

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

نظرة عامة على العملية

يوضّح المخطّط التالي الخطوات العالية المستوى للمصادقة والتفويض لواجهات برمجة تطبيقات Google Workspace:

الخطوات رفيعة المستوى لتنفيذ المصادقة والتفويض
الشكل 1. الخطوات رفيعة المستوى لتنفيذ المصادقة والتفويض
  1. ضبط مشروع وتطبيق Google Cloud: أثناء عملية التطوير، يتم تسجيل تطبيقك في Google Cloud Console وتحديد نطاقات التفويض وبيانات اعتماد الوصول إلى التطبيق من خلال مفتاح واجهة برمجة التطبيقات أو بيانات اعتماد المستخدم النهائي أو بيانات اعتماد حساب الخدمة.

  2. مصادقة التطبيق للوصول: عند تشغيل التطبيق، يتم تقييم بيانات اعتماد الوصول المسجّلة. في حال إجراء مصادقة لتطبيقك كمستخدم نهائي، قد يتم عرض رسالة مطالبة بتسجيل الدخول.

  3. طلب الموارد: عندما يحتاج تطبيقك إلى الوصول إلى موارد Google، يطلب التطبيق من Google استخدام نطاقات الوصول ذات الصلة التي سجّلتها سابقًا.

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

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

  6. عرض Google رمز دخول: يحتوي رمز الدخول على قائمة بنطاقات الوصول الممنوحة. إذا كانت قائمة النطاقات المعروضة محدودة أكثر من نطاقات الوصول المطلوبة، سيوقف تطبيقك أي ميزات محدودة بسبب الرمز المميّز.

  7. الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الدخول من Google لاستدعاء واجهات برمجة التطبيقات ذات الصلة والوصول إلى الموارد.

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

  9. طلب المزيد من الموارد: إذا كانت هناك حاجة إلى أذونات وصول إضافية، يطلب تطبيقك من المستخدم منح نطاقات جديدة لإمكانية الوصول، ما يؤدي إلى تقديم طلب جديد للحصول على رمز الدخول (الخطوات من 3 إلى 6).

مصطلحات مهمة

وفي ما يلي قائمة بالمصطلحات ذات الصلة بالمصادقة والتفويض:

المصادقة

إنّ عملية التأكّد من هوية المستخدم، الذي قد يكون مستخدمًا أو تطبيقًا يتصرّف نيابةً عن المستخدم، هو الرئيسي. عند كتابة تطبيقات Google Workspace، يجب أن تكون على دراية بالأنواع التالية من المصادقة:

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

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

بيانات الاعتماد

شكل من أشكال التعريف المستخدم في أمان البرامج. فيما يتعلق بالمصادقة، غالبًا ما تكون بيانات الاعتماد عبارة عن مجموعة من اسم المستخدم وكلمة المرور. وفي ما يتعلق بتفويض واجهات برمجة التطبيقات في Google Workspace، تكون بيانات الاعتماد عادةً شكلاً من أشكال التعريف، مثل سلسلة سرية فريدة لا تُعرف إلا بين مطوِّر التطبيق وخادم المصادقة. تتيح Google بيانات اعتماد المصادقة التالية: مفتاح واجهة برمجة التطبيقات ومعرّف عميل OAuth 2.0 وحسابات الخدمة.

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

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

خادم التفويض

خادم Google لمنح إمكانية الوصول، باستخدام رمز الدخول، إلى بيانات التطبيق المطلوبة وعملياته.

رمز التفويض

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

رمز الدخول

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

خادم الموارد

الخادم الذي يستضيف واجهة برمجة التطبيقات التي يريد تطبيقك الاتصال بها

إطار عمل OAuth 2.0

معيار يمكن لتطبيقك استخدامه لمنحه "إذن وصول مفوَّض آمن" أو إمكانية الوصول إلى البيانات والعمليات نيابةً عن مستخدم التطبيق. تمثل آليات المصادقة والتفويض التي تستخدمها في تطبيقك عملية تنفيذ إطار عمل OAuth 2.0.

العَلم

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

نوع البيانات

في سياق المصادقة والترخيص، يشير نوع البيانات إلى الكيان الذي يملك البيانات التي يحاول تطبيقك الوصول إليها. هناك ثلاثة أنواع من البيانات وهي:

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

خطوة تفويض تتطلّب من مستخدم تطبيقك تفويض التطبيق بالوصول إلى البيانات وتنفيذ العمليات نيابةً عن المستخدم.

نوع التطبيق

نوع التطبيق الذي تريد إنشاءه عند إنشاء بيانات اعتماد باستخدام وحدة التحكم في Google Cloud، سيُطلب منك تحديد نوع التطبيق لديك. أنواع التطبيقات هي: تطبيق الويب (JavaScript)، Android، تطبيق Chrome، iOS، التلفزيونات وأجهزة الإدخال المحدودة، تطبيق سطح المكتب (يسمى أيضًا "تطبيق مثبت")، ونظام Windows الأساسي (UWP).

حساب الخدمة

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

تفويض المرجع على مستوى النطاق

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

الخطوة التالية

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