المصادقة والترخيص هما آليتان تُستخدَمان لإثبات الهوية والوصول إلى الموارد، على التوالي. يحدِّد هذا المستند المصطلحات الرئيسية التي يجب معرفتها قبل تنفيذ المصادقة والتفويض في تطبيقك.
المصادقة هي عملية تحديد المقدّم للطلب. يحدِّد التفويض الموارد التي يمكن للمقدّم طلب الوصول إليها ومستوى الوصول الذي يتمتع به. المصادقة هي شرط أساسي لمنح العميل الإذن. لا يمكنك تحديد الموارد التي تريد الوصول إليها بدون أولاً إثبات هوية مقدّم الطلب. للحصول على تعريف أكثر تفصيلاً، اطّلِع على قسم المصطلحات المهمة.
راجِع المثال التالي المبسّط لحجز فندق. عند وصولك إلى الفندق، سيطلب موظف مكتب الاستقبال مستند تعريف الهوية لإثبات هويتك وتأكيد حجزك. تُستخدَم بطاقة التعريف للتحقّق من هويتك في الفندق. يقدّم لك موظف مكتب الاستقبال مفتاح الفندق. يتيح لك هذا المفتاح الوصول إلى موارد معيّنة في الفندق، مثل غرفتك في الفندق والنادي الرياضي ومركز الأعمال. يمنحك مفتاح الفندق الإذن بالوصول إلى هذه الموارد.
نظرة عامة على العملية
يعرض المخطّط البياني التالي الخطوات العالية المستوى للمصادقة والتفويض لواجهات برمجة تطبيقات Google Workspace:
ضبط مشروعك وتطبيقك على Google Cloud: أثناء التطوير، يمكنك تسجيل تطبيقك في Google Cloud Console، وتحديد نطاقات التفويض ومستندات اعتماد الوصول لمصادقة تطبيقك باستخدام مفتاح واجهة برمجة التطبيقات أو مستند اعتماد المستخدم النهائي أو مستند اعتماد حساب الخدمة.
مصادقة تطبيقك للوصول إلى البيانات: عند تشغيل تطبيقك، يتم تقييم بيانات اعتماد الوصول المسجَّلة. إذا كان تطبيقك يُجري مصادقة بصفته مستخدمًا نهائيًا، قد يظهر طلب تسجيل الدخول.
طلب المصادر: عندما يحتاج تطبيقك إلى الوصول إلى موارد Google، فإنه يطلب ذلك من Google باستخدام نطاقات الوصول ذات الصلة التي سجّلتها سابقًا.
طلب موافقة المستخدم: إذا كان تطبيقك يُجري مصادقة بصفته مستخدمًا نهائيًا، يعرض Google شاشة موافقة OAuth ليتمكّن المستخدم من اتخاذ قرار بشأن منح تطبيقك إذن الوصول إلى البيانات المطلوبة.
إرسال طلب تمت الموافقة عليه للحصول على الموارد: إذا وافق المستخدم على نطاقات الوصول، يجمع تطبيقك بيانات الاعتماد ونطاقات الوصول التي وافق عليها المستخدم في طلب. يتم إرسال الطلب إلى خادم التفويض في Google للحصول على رمز دخول.
تعرِض Google رمز دخول: يحتوي رمز الدخول على قائمة بحدود الوصول الممنوحة. إذا كانت قائمة النطاقات المعروضة محدودة أكثر من النطاقات المطلوبة للوصول، يوقف تطبيقك أي ميزات محدودة بواسطة الرمز المميّز.
الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الوصول من Google لمحاولة استدعاء واجهات برمجة التطبيقات ذات الصلة والوصول إلى الموارد.
الحصول على رمز إعادة تحميل (اختياري): إذا كان تطبيقك بحاجة إلى الوصول إلى واجهة برمجة تطبيقات Google بعد انتهاء صلاحية رمز دخول واحد، يمكنه الحصول على رمز إعادة تحميل.
طلب المزيد من الموارد: إذا كان هناك حاجة إلى إذن وصول إضافي، يطلب تطبيقك من العميل منح نطاقات وصول جديدة، ما يؤدي إلى تقديم طلب جديد للحصول على رمز مميّز للوصول (الخطوات 3 إلى 6).
المصطلحات المهمة
في ما يلي قائمة بالمصطلحات ذات الصلة بالمصادقة والتفويض:
- المصادقة
عملية التأكّد من أنّ المبدأ، الذي يمكن أن يكون مستخدمًا أو تطبيقًا يتصرّف نيابةً عن مستخدم، هو هويته التي يُعرّف بها عند كتابة تطبيقات Google Workspace، يجب أن تكون على دراية بأنواع المصادقة التالية:
- مصادقة المستخدم
- عملية مصادقة المستخدم (تسجيل الدخول) إلى تطبيقك. تتم مصادقة المستخدم عادةً من خلال عملية تسجيل دخول يستخدم فيها المستخدم اسم مستخدم وكلمة مرور لإثبات هويته للتطبيق. يمكن دمج مصادقة المستخدم في تطبيق باستخدام تسجيل الدخول باستخدام حساب Google.
- مصادقة التطبيق
- عملية مصادقة تطبيق مع خدمات Google مباشرةً بالنيابة عن المستخدم الذي يشغّل التطبيق. تتم عادةً مصادقة التطبيق باستخدام بيانات اعتماد تم إنشاؤها مسبقًا في رمز تطبيقك.
- التفويض
الأذونات أو "السُلطة" التي يمتلكها المشرف للوصول إلى البيانات أو تنفيذ العمليات يتم تنفيذ عملية التفويض من خلال رمز برمجي تكتبه في تطبيقك. يُعلم هذا الرمز المستخدم بأنّ التطبيق يريد التصرف نيابةً عنه، ويستخدم بيانات اعتماد تطبيقك الفريدة، إذا كان ذلك مسموحًا به، للحصول على رمز مميّز للوصول من Google يُستخدَم للوصول إلى البيانات أو تنفيذ العمليات.
- المستندات المُعتمَدة
هو شكل من أشكال التعريف المستخدَم في أمان البرامج. من حيث المصادقة، غالبًا ما تكون بيانات الاعتماد عبارة عن مجموعة اسم مستخدم وكلمة مرور. من حيث التفويض لواجهات برمجة تطبيقات Google Workspace، تكون بيانات الاعتماد عادةً أحد أشكال ملف التعريف، مثل سلسلة سرية فريدة لا يعرفها سوى مطوّر التطبيق وخادم المصادقة. تتيح Google استخدام بيانات اعتماد المصادقة التالية: مفتاح واجهة برمجة التطبيقات ومعرّف عميل OAuth 2.0 وحسابات الخدمة.
- مفتاح واجهة برمجة التطبيقات
- بيانات الاعتماد المستخدَمة لطلب الوصول إلى البيانات العامة، مثل البيانات المقدَّمة باستخدام Maps API أو ملفات Google Workspace التي تمت مشاركتها باستخدام الإعداد "أي مستخدم على الإنترنت لديه هذا الرابط" ضمن إعدادات مشاركة Google Workspace
- معرّف عميل OAuth 2
- بيانات الاعتماد المستخدَمة لطلب الوصول إلى البيانات التي يملكها المستخدم هذه هي الشهادة المرجعية الأساسية المستخدَمة عند طلب الوصول إلى البيانات باستخدام Google Workspace APIs. تتطلّب بيانات الاعتماد هذه موافقة المستخدم.
- سر العميل
- سلسلة من الأحرف التي يجب ألا يعرفها سوى تطبيقك و خادم التفويض تحمي مفتاح سر العميل بيانات المستخدم من خلال منح علامات المرور فقط للمستخدمين المفوَّضين. يجب عدم تضمين سر العميل غير المشفَّر في تطبيقك مطلقًا. وننصحك بتخزين سر العميل بأمان. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة معالجة بيانات اعتماد العميل بأمان.
- مفاتيح حسابات الخدمة
- تستخدمها حسابات الخدمة للحصول على إذن بالوصول إلى إحدى خدمات Google.
- حساب الخدمة
- بيانات اعتماد تُستخدَم للتفاعلات بين الخوادم، مثل تطبيق بدون هوية يتم تشغيله كعملية للوصول إلى بعض البيانات أو تنفيذ بعض العمليات تُستخدَم حسابات الخدمة عادةً للوصول إلى البيانات والعمليات المستندة إلى السحابة الإلكترونية. ومع ذلك، عند استخدامها مع تفويض المرجع على مستوى النطاق، يمكن استخدامها للوصول إلى بيانات المستخدم.
- المستوى
سلسلة عنوان URL لبروتوكول OAuth 2.0 تحدِّد مستوى الوصول إلى الموارد أو الإجراءات التي تم منحها للتطبيق. بالنسبة إلى Google Workspace، تحتوي عناوين URL لنطاق التفويض على اسم تطبيق Google Workspace ونوع البيانات التي يصل إليها ومستوى الوصول. يمكن لمستخدمي تطبيقك مراجعة النطاقات المطلوبة واختيار إذن الوصول الذي يريدون منحَه، ثم يُعيد خادم المصادقة في Google النطاقات المسموح بها إلى تطبيقك في رمز دخول. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة كيفية اختيار النطاقات لتطبيقك.
- خادم التفويض
خادم Google لمنح إذن الوصول، باستخدام رمز مميّز للوصول، إلى data البيانات والعمليات المطلوبة للتطبيق
- رمز التفويض
رمز مُرسَل من خادم التفويض يُستخدَم للحصول على رمز ميزات الدخول لا يكون الرمز ضروريًا إلا عندما يكون نوع تطبيقك هو تطبيق خادم ويب أو تطبيق مثبَّت.
- رمز الوصول
رمز مميّز يمنح إذن الوصول إلى Google Workspace API يمكن أن يمنحك رمز مميّز واحد للوصول درجات مختلفة من الوصول إلى واجهات برمجة تطبيقات متعددة، وتُعرف هذه الدرجات باسم النطاقات. يطلب код التفويض في تطبيقك رموز الوصول ويستخدمها لاستدعاء واجهتَي برمجة التطبيقات Google Workspace API.
- خادم الموارد
الخادم الذي يستضيف واجهة برمجة التطبيقات التي يريد تطبيقك الاتصال بها
- إطار عمل OAuth 2.0
معيار يمكن لتطبيقك استخدامه لمنحه "إذن وصول مفوَّض آمن" أو الوصول إلى البيانات والعمليات نيابةً عن مستخدم التطبيق تمثل آليات المصادقة والتفويض التي تستخدمها في تطبيقك عملية تنفيذ إطار عمل OAuth 2.0.
- الرئيسي
هويّة، يُشار إليها أيضًا باسم "كيان"، يمكن منحها إذن الوصول إلى مورد. تتوافق واجهات برمجة تطبيقات Google Workspace مع نوعَين من الجهات المعنيّة: حسابات المستخدمين وحسابات الخدمات. لمزيد من التفاصيل، يُرجى الاطّلاع على المبدأ.
- نوع البيانات
في سياق المصادقة والتفويض، يشير نوع البيانات إلى الجهة التي تملك البيانات التي يحاول تطبيقك الوصول إليها. هناك ثلاثة أنواع بيانات:
- بيانات النطاق العام
- البيانات التي يمكن لأي شخص الوصول إليها، مثل بعض بيانات "خرائط Google" يتم عادةً الوصول إلى هذه البيانات باستخدام مفتاح واجهة برمجة التطبيقات.
- بيانات المستخدم النهائي
- البيانات التي تنتمي إلى مستخدم نهائي أو مجموعة معيّنة، مثل ملفات Google Drive الخاصة بمستخدم معيّن يتم الوصول عادةً إلى نوع البيانات هذا باستخدام معرّف عميل أو حساب خدمة OAuth 2.
- بيانات السحابة الإلكترونية
- البيانات التي يملكها مشروع على Google Cloud يتم عادةً الوصول إلى نوع البيانات هذا من خلال حساب خدمة.
- موافقة المستخدِم
خطوة تفويض تتطلب من مستخدم تطبيقك تفويض التطبيق بالوصول إلى البيانات وتنفيذ العمليات نيابةً عن المستخدم
- نوع التطبيق
نوع التطبيق الذي ستُنشئه عند إنشاء بيانات اعتماد باستخدام وحدة تحكّم Google Cloud، سيُطلب منك اختيار نوع تطبيقك. أنواع التطبيقات هي: تطبيق الويب (JavaScript) وAndroid وتطبيق Chrome وiOS والتلفزيونات وأجهزة الإدخال المحدود وتطبيق الكمبيوتر المكتبي (يُعرف أيضًا باسم "التطبيق المثبّت") وUniversal Windows Platform (UWP).
- حساب الخدمة
نوع خاص من حسابات Google يمثّل مستخدمًا غير بشري ويتطلب مصادقة وإذنًا للوصول إلى البيانات. يفترض تطبيقك هوية حساب الخدمة لاستدعاء واجهات برمجة تطبيقات Google، لكي لا يشارك المستخدمون بشكل مباشر. لا يمكن استخدام حسابات الخدمة بمفردها للوصول إلى بيانات المستخدمين، وهي البيانات التي يتم الوصول إليها عادةً باستخدام واجهات برمجة التطبيقات Workspace API. ومع ذلك، يمكن لحساب الخدمة الوصول إلى بيانات المستخدم من خلال تنفيذ تفويض السُلطة على مستوى النطاق. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة التعرّف على حسابات الخدمة.
- تفويض السلطة على مستوى النطاق
ميزة إدارة يمكنها تفويض تطبيق بالوصول إلى data المستخدمين نيابةً عن المستخدمين في مؤسسة Google Workspace. يمكن استخدام التفويض على مستوى النطاق للقيام بالمهام المتعلّقة بالمشرفين في بيانات المستخدمين. لتفويض السُلطة بهذه الطريقة، يستخدم مشرِفو Google Workspace حسابات الخدمة مع OAuth 2.0. بسبب فعالية هذه الميزة، يمكن فقط للمشرفين المتميّزين تفعيل تفويض السلطة على مستوى النطاق. للاطّلاع على مزيد من التفاصيل، يُرجى الرجوع إلى مقالة تفويض الإذن على مستوى النطاق لحساب خدمة.
الخطوة التالية
ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth في تطبيقك لضمان فهم المستخدمين لإمكانية وصول تطبيقك إلى بياناتهم والموافقة عليها