المصادقة والترخيص هي آليات تستخدم للتحقق من الهوية والوصول إلى الموارد، على التوالي. يحدد هذا المستند المصطلحات الرئيسية التي ينبغي أن تعرفها قبل تنفيذ المصادقة والترخيص في تطبيقك.
تحدد المصادقة الشخص الذي يقدّم الطلب. يحدِّد التفويض المصادر التي يمكن لمقدّم الطلب الوصول إليها ومستوى الوصول الذي يملكه. تُعد المصادقة شرطًا أساسيًا للتفويض. لا يمكنك تحديد الموارد التي يمكنك الوصول إليها دون تحديد هوية مقدم الطلب أولاً. للحصول على تعريف أكثر تفصيلاً، راجع قسم المصطلحات المهمة.
بالنظر إلى المثال المبسط التالي لحجز فندق. عند وصولك إلى الفندق، يطلب موظف مكتب الاستقبال من بطاقة هويتك للتحقق من حجزك. يتم المصادقة على بطاقة التعريف الخاصة بك للوصول إلى الفندق. يمنحك موظف مكتب الاستقبال مفتاح الفندق. يتيح لك هذا المفتاح الوصول إلى موارد معينة في الفندق مثل غرفة الفندق وصالة الألعاب الرياضية ومركز الأعمال. يفوّضك مفتاح الفندق الوصول إلى هذه الموارد.
نظرة عامة على العملية
يوضِّح المخطّط التالي الخطوات عالية المستوى للمصادقة والتفويض لواجهات برمجة تطبيقات Google Workspace:
![الخطوات رفيعة المستوى لعملية المصادقة
والتفويض](https://developers.google.cn/workspace/images/auth-overview.png?authuser=0000&hl=ar)
ضبط مشروع وتطبيق Google Cloud: أثناء عملية التطوير، يجب تسجيل تطبيقك في Google Cloud Console وتحديد نطاقات التفويض وبيانات الاعتماد للوصول إلى تطبيقك باستخدام مفتاح واجهة برمجة التطبيقات أو بيانات اعتماد المستخدم النهائي أو بيانات اعتماد حساب الخدمة.
مصادقة تطبيقك للوصول: عند تشغيل تطبيقك، يتم تقييم بيانات اعتماد الوصول المسجَّلة. في حال إجراء مصادقة لتطبيقك كمستخدم نهائي، قد يتم عرض رسالة مطالبة بتسجيل الدخول.
طلب الموارد: عندما يحتاج تطبيقك إلى الوصول إلى موارد Google، يطلب التطبيق من Google استخدام نطاقات الوصول ذات الصلة التي سجّلتها سابقًا.
طلب موافقة المستخدم: في حال كان تطبيقك يقوم بالمصادقة كمستخدم نهائي، تعرض Google شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth ليتمكّن المستخدم من تحديد ما إذا كان يريد منح تطبيقك إذن الوصول إلى البيانات المطلوبة أم لا.
إرسال طلب موافَق عليه للحصول على موارد: في حال وافق المستخدم على نطاقات الوصول، سيجمع تطبيقك بيانات الاعتماد ونطاقات الوصول التي وافق عليها المستخدم في الطلب. يتم إرسال الطلب إلى خادم تفويض Google للحصول على رمز الدخول.
عرض Google رمز الدخول: يحتوي رمز الدخول على قائمة بنطاقات الوصول الممنوحة. إذا كانت قائمة النطاقات المعروضة محدودة أكثر من نطاقات الوصول المطلوبة، سيوقف تطبيقك أي ميزات يحدّها الرمز المميّز.
الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الدخول من Google لاستدعاء واجهات برمجة التطبيقات ذات الصلة والوصول إلى الموارد.
الحصول على رمز مميّز للتحديث (اختياري): إذا كان تطبيقك يحتاج إلى الوصول إلى واجهة Google API بعد فترة أطول من تاريخ استخدام رمز دخول واحد، يمكنه الحصول على رمز مميّز للتحديث.
طلب مزيد من الموارد: في حال الحاجة إلى وصول إضافي، يطلب تطبيقك من المستخدم منح نطاقات جديدة للوصول، ما يؤدي إلى إنشاء طلب جديد للحصول على رمز الدخول (الخطوات من 3 إلى 6).
مصطلحات مهمة
في ما يلي قائمة بالمصطلحات ذات الصلة بالمصادقة والتفويض:
- المصادقة
عملية التأكّد من هوية المدير، الذي قد يكون مستخدمًا أو تطبيقًا يتصرف نيابةً عن المستخدم، على النحو الذي يدّعيه صاحبه. عند كتابة تطبيقات Google Workspace، يجب أن تكون على دراية بأنواع المصادقة التالية:
- مصادقة المستخدم
- عملية مصادقة المستخدم (تسجيل الدخول) لتطبيقك تتم عادةً من خلال عملية تسجيل دخول يستخدم فيها المستخدم مجموعة من اسم المستخدم وكلمة المرور لإثبات هويته في التطبيق. يمكن دمج مصادقة المستخدم في أحد التطبيقات من خلال ميزة تسجيل الدخول باستخدام حساب Google.
- مصادقة التطبيقات
- تتم مصادقة التطبيق مباشرةً مع خدمات Google نيابةً عن المستخدم الذي يشغِّل التطبيق. يتم عادةً إجراء مصادقة التطبيقات باستخدام بيانات الاعتماد التي تم إنشاؤها مسبقًا في رمز التطبيق.
- التفويض
الأذونات أو "السلطة" التي يتعين على المدير الوصول إليها أو تنفيذ العمليات. يتم تنفيذ التفويض من خلال رمز تكتبه في تطبيقك. ويُعلِم هذا الرمز المستخدم بأنّ التطبيق يريد اتخاذ إجراءات نيابةً عنه، وعند السماح بذلك، يستخدم بيانات الاعتماد الفريدة لتطبيقك للحصول على رمز دخول من Google تستخدمه للوصول إلى البيانات أو إجراء العمليات.
- بيانات الاعتماد
يشير ذلك المصطلح إلى شكل من أشكال التعريف المستخدَم في أمان البرامج. فيما يتعلق بالمصادقة، غالبًا ما تكون بيانات الاعتماد عبارة عن مجموعة من اسم المستخدم وكلمة المرور. في ما يتعلق بواجهات برمجة تطبيقات Google Workspace، عادةً ما تكون بيانات الاعتماد نوعًا من التعريف، مثل سلسلة سرية فريدة لا تُعرف إلا بين مطوّر التطبيق وخادم المصادقة. تتيح Google بيانات اعتماد المصادقة هذه: مفتاح واجهة برمجة التطبيقات ومعرّف عميل OAuth 2.0 وحسابات الخدمة.
- مفتاح واجهة برمجة التطبيقات
- بيانات الاعتماد المستخدَمة لطلب الوصول إلى البيانات العلنية، مثل البيانات التي يتم توفيرها باستخدام واجهة برمجة تطبيقات "خرائط Google" أو ملفات Google Workspace التي تتم مشاركتها باستخدام خيار "أي شخص على الإنترنت لديه هذا الرابط" ضمن إعدادات المشاركة في Google Workspace
- معرِّف عميل OAuth 2
- بيانات الاعتماد المُستخدَمة لطلب الوصول إلى البيانات التي يمتلكها المستخدم وهي بيانات الاعتماد الأساسية المستخدَمة عند طلب الوصول إلى البيانات باستخدام واجهات برمجة تطبيقات Google Workspace. تتطلّب بيانات الاعتماد هذه موافقة المستخدم.
- سر العميل
- عبارة عن سلسلة من الأحرف التي يجب أن يتعرَّف عليها تطبيقك وخادم التفويض فقط. يحمي سر العميل بيانات المستخدم من خلال منح رموز مميزة فقط لمقدمي الطلبات المعتمدين. يجب عدم تضمين سر العميل غير المشفر مطلقًا في تطبيقك. ننصحك بتخزين سر العميل بشكل آمن. لمزيد من المعلومات، يُرجى الاطِّلاع على مقالة التعامل مع بيانات اعتماد العميل بأمان.
- مفاتيح حساب الخدمة
- تستخدمه حسابات الخدمة للحصول على إذن لإحدى "خدمات Google".
- حساب الخدمة
- بيانات اعتماد يتم استخدامها للتفاعلات من خادم إلى خادم، مثل تطبيق بدون واجهة مستخدم يتم تشغيله كعملية للوصول إلى بعض البيانات أو إجراء عملية معيّنة. يتم عادةً استخدام حسابات الخدمة للوصول إلى البيانات والعمليات المستنِدة إلى السحابة الإلكترونية. ومع ذلك، عند استخدامها مع تفويض المرجع على مستوى النطاق، يمكن استخدامها للوصول إلى بيانات المستخدم.
- النطاق
سلسلة معرف موارد منتظم (URI) لبروتوكول OAuth 2.0 تحدد مستوى الوصول إلى الموارد أو الإجراءات التي يتم منحها لأحد التطبيقات. بالنسبة إلى Google Workspace، تحتوي معرّفات الموارد المنتظمة (URI) لنطاق التفويض على اسم تطبيق Google Workspace ونوع البيانات التي يصل إليها ومستوى الوصول. يمكن لمستخدمي تطبيقك مراجعة النطاقات المطلوبة واختيار إذن الوصول الذي تريد منحه، ثم يعرض خادم المصادقة في Google النطاقات المسموح بها لتطبيقك في رمز الدخول. للتعرّف على مزيد من التفاصيل، يُرجى الاطّلاع على المقالة كيفية اختيار النطاقات لتطبيقك.
- خادم التفويض
خادم Google لمنح حق الوصول، باستخدام رمز الدخول، إلى البيانات والعمليات المطلوبة للتطبيق.
- رمز التفويض
يشير هذا المصطلح إلى رمز يتم إرساله من خادم التفويض يُستخدَم للحصول على رمز دخول. لا يكون الرمز مطلوبًا إلا عندما يكون نوع التطبيق هو تطبيق خادم ويب أو تطبيق مثبَّت.
- رمز الدخول
رمز مميّز يمنح إمكانية الوصول إلى واجهة برمجة تطبيقات Google Workspace ويمكن أن يمنح رمز الدخول الواحد درجات متفاوتة، تُعرف باسم النطاقات، من إمكانية الوصول إلى واجهات برمجة تطبيقات متعددة. يطلب رمز التفويض في تطبيقك رموز الوصول المميّزة ويستخدمها لاستدعاء واجهات برمجة تطبيقات 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 في تطبيقك لضمان إمكانية فهم المستخدمين لأذونات وصول تطبيقك إلى بياناتهم والموافقة عليها.