ما هي أبسط طريقة للقيام بالمصادقة باستخدام واجهة برمجة تطبيقات الويب؟

StackOverflow https://stackoverflow.com/questions/3089810

  •  29-09-2019
  •  | 
  •  

سؤال

لقد حصلت على واجهة برمجة تطبيقات ويب توفر بيانات للمستخدمين دون مصادقة (يتيح موقع الويب للمستخدمين نشر البيانات ، بعد تسجيل الدخول باستخدام ملفات تعريف الارتباط والجلسات التقليدية). يريد شخص ما تطوير تطبيق iPhone يضيف أشياء إلى قاعدة البيانات الخاصة بي ، لذلك أريد أن يقوم مستخدم المصادقة على iPhone ، ثم تسمح API بالنشر.

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

مقدر جدا!

هل كانت مفيدة؟

المحلول

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

عند تلقي طلب جلسة جديدة ، ستبحث عن الرمز المميز الخاص بها استنادًا إلى AppID المقدم ، ومحاولة فك تشفير المستخدم/المرور باستخدام الرمز المميز.

إذا تم قبول المستخدم/المرور ، فأنت تقوم بإنشاء جلسة جديدة وإرجاع معرف الجلسة إليهم ، والتي يمكنهم إرسالها مع أي طلبات جديدة.

هذا يمنع التطبيق من الاضطرار إلى إرسال المصادقة لكل طلب ، ويسمح لك بانتهاء الجلسات في وقت معين.

نصائح أخرى

تم تقديم WebSecurity في ASP.NET MVC 4. ويعتمد على simplembershipprovider. يستخدم FormsaUtentication لإدارة ملفات تعريف الارتباط

WebMatrix.WebData.WebSecurity يوفر هو ميزات الأمان والمصادقة لتطبيقات صفحات الويب ASP.NET ، بما في ذلك القدرة على إنشاء حسابات المستخدمين ، وتسجيل مستخدمي الدخول والخروج ، وإعادة تعيين كلمات المرور أو تغييرها ، وأداء المهام ذات الصلة.

يجب عليك إنشاء أو تهيئة قاعدة بيانات WebSecurity قبل أن تتمكن من استخدام كائن WebSecurity في التعليمات البرمجية الخاصة بك.

في جذر الويب الخاص بك ، قم بإنشاء صفحة (أو تحرير الصفحة) المسماة _appstart.cshtml.

  _AppStart.cshtml

    @{
    WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
    }

يمكنك مصادقة طلبك باتباع الرمز.

WebSecurity.Login(LoginName, Password, true)

بمجرد النجاح الذي نجح فيه ، ستحصل على قيمة websecurity.

تستطيع ايضا استخذام "SimpleRoleProvider"لإدارة الأدوار في التطبيق الخاص بك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top