البرمجة

تأمين تطبيق AngularJS و ASP.NET Web API باستخدام المصادقة بنظام الكوكيز

في سبيل تحقيق تأمين تطبيق الويب الخاص بك الذي يعتمد على AngularJS كواجهة أمامية و ASP.NET Web API كواجهة خلفية، وتحديدًا على الخادم الخاص بالشركة حيث سيتم تنفيذ هذا التطبيق، يمكنك التفكير في استخدام نظام المصادقة القائم على الكوكيز بدلاً من نظام المصادقة القائم على الرموز.

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

لتكوين المصادقة بنظام الكوكيز في مشروع ASP.NET الخاص بك، يمكنك اتباع الخطوات التالية:

  1. تكوين خدمة المصادقة في Startup.cs:
    يمكنك استخدام services.AddAuthentication لتكوين خدمة المصادقة في طبقة البداية. يمكنك تحديد نوع المصادقة كـ “Cookies” باستخدام AddCookie:

    csharp
    services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie(options => { options.Cookie.Name = "YourCookieName"; });
  2. تكوين السياسات والمصادقة في Middleware:
    يجب تحديد استخدام السياسات والمصادقة المعينة في Middleware. يمكنك فعل ذلك في Configure:

    csharp
    app.UseAuthentication(); app.UseAuthorization();
  3. التحقق من المصادقة في الوحدة الخلفية (Controller):
    يجب عليك التحقق من صحة المصادقة في وحدة التحكم الخاصة بك. يمكنك فعل ذلك عن طريق إضافة [Authorize] إلى الوحدة الخاصة بك:

    csharp
    [Authorize] public class YourController : ControllerBase { // Your actions here }

باستخدام هذه الخطوات، يمكنك تكوين المصادقة بنظام الكوكيز في ASP.NET Web API الخاص بك بشكل فعّال. يمكنك أيضًا ضبط الخيارات والتكوينات وفقًا لاحتياجات تطبيقك الخاص.

المزيد من المعلومات

بالطبع، دعني أوضح بعض المعلومات الإضافية حول استخدام المصادقة بنظام الكوكيز في تطبيقك الذي يعتمد على AngularJS كواجهة أمامية و ASP.NET Web API كواجهة خلفية.

استخدام الكوكيز في الجزء الأمامي (AngularJS):

  1. إرسال الكوكيز مع كل طلب:
    عند تسجيل الدخول بنجاح من الجزء الخلفي (ASP.NET Web API)، يجب عليك ضبط AngularJS ليقوم بإرسال الكوكيز مع كل طلب. يمكنك فعل ذلك عن طريق إضافة الكود التالي في جزء AngularJS الخاص بك:

    javascript
    $http.defaults.withCredentials = true;
  2. تخزين الكوكيز وإدارتها:
    بمجرد استلام الكوكيز من الخادم، يمكنك تخزينها في ذاكرة التخزين المحلية (localStorage) أو تخزينها بطرق أخرى تناسب تصميم تطبيقك.

التعامل مع الجلسات في ASP.NET Web API:

  1. تمديد فترة الصلاحية:
    يمكنك ضبط فترة صلاحية الكوكيز على الخادم باستخدام خيارات التكوين في خدمة المصادقة (CookieAuthenticationOptions). يمكن تحديد فترة الصلاحية بوحدة الزمن المناسبة لتطبيقك، مثل الدقائق أو الساعات.

    csharp
    services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie(options => { options.Cookie.Name = "YourCookieName"; options.ExpireTimeSpan = TimeSpan.FromMinutes(30); // فترة الصلاحية });
  2. تحسين الأمان:
    يمكنك زيادة مستوى الأمان عبر تفعيل بعض الخيارات مثل SlidingExpiration الذي يعيد تعيين فترة الصلاحية عند كل طلب.

    csharp
    services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie(options => { options.Cookie.Name = "YourCookieName"; options.ExpireTimeSpan = TimeSpan.FromMinutes(30); options.SlidingExpiration = true; // إعادة تعيين فترة الصلاحية مع كل طلب });

التعامل مع الخطأ والتفاصيل الإضافية:

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

  2. التحقق من الصلاحيات:
    يمكنك استخدام أوساط التحقق ([Authorize]) في ASP.NET Web API للتحقق من صحة الكوكيز وصلاحيات المستخدم. يمكنك أيضًا تخصيصها لتلبية متطلبات تطبيقك الخاص.

توثيق وثائق المطور:

ضمن توثيق مشروعك، يمكنك توضيح كيفية تكوين المصادقة بنظام الكوكيز، وكيف يمكن للمطورين الآخرين فهم الخطوات التي يجب اتخاذها لتحقيق التكامل بين AngularJS و ASP.NET Web API باستخدام هذا النوع من المصادقة.

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

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!