MVC4中允许外部登录OAuth/OpenID的安全含义

MVC4中允许外部登录OAuth/OpenID的安全含义,oauth,asp.net-mvc-4,openid,security,Oauth,Asp.net Mvc 4,Openid,Security,我正在考虑在我的MVC4应用程序中允许用户通过OAuth/OpenID提供者等使用外部登录是否有意义 允许外部登录是否会使您的应用程序比标准表单身份验证或其他方式更安全?安全性是最重要的,因为某些帐户会有现金价值(用户可以将钱存入他们的帐户) 我特别关心的安全影响,但我也想知道我需要考虑的任何其他因素。根据我的专业经验,安全因素不仅与所使用的编程语言/技术有关。在您的情况下(MVC4和Microsoft“world”)已经为您提供了一些选项。但最终“防弹效果”是由“应用程序架构”和开发人员/程序

我正在考虑在我的MVC4应用程序中允许用户通过OAuth/OpenID提供者等使用外部登录是否有意义

允许外部登录是否会使您的应用程序比标准表单身份验证或其他方式更安全?安全性是最重要的,因为某些帐户会有现金价值(用户可以将钱存入他们的帐户)


我特别关心的安全影响,但我也想知道我需要考虑的任何其他因素。

根据我的专业经验,安全因素不仅与所使用的编程语言/技术有关。在您的情况下(MVC4和Microsoft“world”)已经为您提供了一些选项。但最终“防弹效果”是由“应用程序架构”和开发人员/程序员完成的

身份验证提供者(如您提到的提供者)有许多优点,但同时提供了“知识灰色区域”和“控制”。“一条链的强弱取决于它最薄弱的一环”,这意味着不管你的代码有多好,最终如果你将代码的一个非常重要的部分委托给某个“其他实体”(你甚至不知道他们的代码/数据库/易破解性有多好,等等,你对此无能为力)

我并不是在这里告诉你OAuth/OpenID/others的好坏,我只是告诉你,最后你应该问的问题是:“你在网站上存储的信息有多安全?”

如果它是一个银行网站,请查看需要信任和验证的安全协议和实体在该领域的“工作”程度。Visa/mastercard/others网络提供商不仅仅是一家简单的“2人公司”。此外,还有保险公司和大型合同试图为双方提供安全保障

所以,在您的情况下,只有您可以决定在您的网站中存储什么,但您应该提出的另一个问题是:您将所有这些信息存储在哪里?共享主机/您实际接触不到的主机公司?备份怎么样?等等

如果你谈论的是真正的钱,那么有很多方面需要考虑,只有你才能衡量你能做/负担得起的事情,并希望做出最好的决定,而且永远不会有坏事发生:)


祝您好运:)

在此之前的一些讨论:,在我看来(因为涉及资金),如果您知道如何正确处理密码存储/帐户身份验证和授权,那么您应该使用自己的实现。