مزيد من المعلومات عن المصادقة والترخيص

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

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

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

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

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

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

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

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

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

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

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

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

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

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

المصطلحات المهمة

تحدّد القائمة التالية المصطلحات ذات الصلة بالمصادقة والترخيص:

المصادقة

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

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

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

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

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

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

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

خادم التفويض

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

رمز التفويض

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

رمز الدخول

رمز مميّز يمنح إذن الوصول إلى إحدى واجهات برمجة التطبيقات في Google Workspace يمكن أن يمنح رمز الدخول الواحد درجات متفاوتة من الوصول، تُعرف باسم النطاقات، إلى واجهات برمجة تطبيقات متعددة. يطلب رمز التفويض الخاص بتطبيقك رموز الدخول ويستخدمها لاستدعاء واجهات 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، وبالتالي لا يشارك المستخدمون بشكل مباشر. ولا يمكن استخدام حسابات الخدمة بمفردها للوصول إلى بيانات المستخدمين التي يتم الوصول إليها عادةً باستخدام واجهات برمجة التطبيقات في Google Workspace. ومع ذلك، يمكن لحساب الخدمة الوصول إلى بيانات المستخدم من خلال تنفيذ تفويض السلطة على مستوى النطاق. لمزيد من التفاصيل، يُرجى الاطّلاع على التعرّف على حسابات الخدمة.

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

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

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

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