الـ Authentication و الـ Authorization الـ Authentication و الـ authorization كلمتان المستخدمتان في عالم security قد تبدو متشابهة ولكنها مختلفة تمامًا عن بعضها البعض. ما هي الـ Authentication ( المصادقة ) الـ Authentication هي عملية تحديد هوية شخص ما من خلال التأكد من أن الشخص هو نفسه من يطالب request و يتم استخدامه من قبل كل من server و client و يستخدم server الـ Authentication عندما يريد شخص ما الوصول إلى المعلومات ، ويحتاج الـ server إلى معرفة من يقوم بالوصول إلى المعلومات بواسطة server في الغالب باستخدام اسم المستخدم وكلمة المرور . الـ techniques الشهيرة لـ Authentication 1. الـ authentication على أساس Password إنها أبسط طريقة authentication يتطلب password و username المحدد إذا تطابقت كلمة المرور مع اسم المستخدم وكلتا التفاصيل تتطابق مع database النظام ، فسيتم authentication على المستخدم بنجاح. 2. authentication بدون Password في هذه التقنية لا يحتاج المستخدم إلى أي كلمة مرور ؛ بدلاً من ذلك ، يحصل على OTP (One-time password) أو رابط على رقم phone يمكن أن يقال علية OTP-based 3. الـ 2FA / الـ MFA الـ 2FA / الـ MFA أو المصادقة الثنائية و المصادقة متعددة العوامل هي المستوى الأعلى من authentication و يتطلب الأمر رقم PIN إضافيًا أو أسئلة أمان حتى يتمكن من authenticate المستخدم. 4. الدخول الموحد SSO يُعد تسجيل الدخول الأحادي أو SSO طريقة لتمكين الوصول إلى تطبيقات متعددة باستخدام مجموعة واحدة من بيانات الاعتماد يسمح للمستخدم بتسجيل الدخول مرة واحدة ، وسيتم تسجيل الدخول تلقائيًا إلى جميع تطبيقات الويب الأخرى المترتبطة بهذا النظام الـ Authorization ( التفويض ) هي عملية منح شخص ما داخل الـ system للقيام بمجموعة من العملياتداخل هذا system يعني أنها طريقة للتحقق مما إذا كان المستخدم لديه إذن لاستخدام موارد هذا النظام لا فهو يحدد ما هي البيانات والمعلومات التي يمكن لمستخدم واحد الوصول إليها. يعمل الـ Authorization عادةً مع authentication حتى يتمكن النظام من معرفة من يقوم بالوصول إلى المعلومات. تقنيات Authorization التحكم في access على أساس الدور تمنح RBAC أو تقنية Role-Based Access Control إلى الدور users وفقًا role أو ملفهم الشخصي في organization يمكن تنفيذه system to system أو user-to-system الـ JWT الـ JSON web token أو JWT هو standard مفتوح يستخدم لنقل البيانات بشكل آمن بين الأطراف في شكل JSON object و يتم التحقق من المستخدمين وترخيصهم باستخدام key تكون private/public الـ SAML ترمز الـ SAML إلى لغة رمز تأكيد الأمان وهو معيار standard يوفر بيانات اعتماد الـ Authorization لـ service providers و يتم تبادل بيانات الاعتماد هذه من خلال XML documents. الـ OpenID authorization يساعد clients على التحقق من هوية المستخدمين النهائيين على أساس authentication . الـ OAuth الـ OAuth هو بروتوكول ، يمكّن API من authenticate والوصول إلى الموارد المطلوبة.