繁体   English   中英

我可以/应该安全地存储第三方登录详细信息的ASP.Net MVC Web App

[英]ASP.Net MVC Web App can I / should I securely store 3rd party login details

我们有一个ASP.Net Web应用程序,使用标准的“个人用户帐户”登录。

根据用户登录名,在将Web应用程序登录名映射到所需的Web Service登录名之后,他们也将登录到Web Service中。 它不是一对一映射的登录名,用户可以选择访问许多可用的Web服务中的任何一个。

  • 使用Employee登录详细信息将Web App登录JohnD映射到Web ServiceA。
  • Web应用程序登录FredF使用维护者登录详细信息映射到Web服务B。
  • Web应用程序登录BarneyR使用访问者登录详细信息映射到Web服务B。

管理模块应允许将Web App登录分配为Web Service登录。

对于概念验证,我们在Web应用程序中嵌入了一些Web服务登录详细信息。 这显然是不安全的,我们需要将Web Service登录详细信息安全地存储在SQL Server表中以某种方式加密的某个位置吗? 在WebConfig中加密?

安全地存储和检索映射的登录详细信息的最佳方法是什么? 还是执行此两步登录逻辑的更好方法?

永远不要以可逆格式存储登录详细信息(可以完全解密)。

如果登录详细信息是服务器可逆的,那么黑客将能够在成功窃取数据库后执行相同的操作来检索每个人的登录信息。

您自己网站的登录信息应以一种哈希+加盐的方式存储。 没有理由为第三方网站使用较低级别的安全性。

具有访问权限的OAuth应该是您问题的答案,因为它不需要用户为您的网站授予对第三方网站的完全访问权限。 您的网站遭到入侵后,第3方网站的登录信息将完全不受影响。 用户可以断开链接,以防止进一步损害其第三方网站的帐户,而无需等待管理员操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM