كلمات المرور للتطبيقات باستخدام مصادقة الطرف الثالث؟

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

سؤال

لدي تطبيق ASP.NET MVC الذي قمت به للتو RPX. نظام الهوية التابع لجهة خارجية. يعمل التكامل على ما يرام، لكنني أحصل على بعض الصعوبة في التفاف رأسي حول ما يجب القيام به مع مستوى ASP.NET.

لأن الهوية تتم معالجتها خارجيا، ليس لدي أي حاجة لكلمات المرور في تطبيقي: لا أتلقى كلمة مرور المستخدم، فقط هويتها. ومع ذلك، تتطلب الاشياء موفر عضوية ASP.NET يتم تمرير كلمات مرور لإنشاء مستخدم، وتوقيع مستخدم في، إلخ.

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

سأكون مهتما بالسماع كيف تعامل المواقع الأخرى هذه المشكلة، على سبيل المثال، Stackoverflow.

من فضلك انظر أيضا سؤالي الآخر, فيما يتعلق بمقدمي الأعضاء لمثل هذا التطبيق.

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

المحلول

لكنني قلق من أن هذا من شأنه أن يجعل بيانات المستخدم الخاصة بي.

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

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

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

نصائح أخرى

لماذا استخدام عضوية ASP.NET إذن؟ لا يناسبك حقا ما تفعله وهو مصادقة الطرف الثالث. ربما يمكن أن يكون لديك نظرة على مشروع dotnetopenid وأمثلة لأن لديهم مثال موقع ASP.NET الكلاسيكي الذي يمكنك تعديله ل MVC؟ لديهم أ ويكي هنا ربما جوجل dotnetopenid mvc؟

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