OAuth2对于Web应用程序的安全性如何

时间:2019-01-17 01:11:50

标签: authentication oauth oauth-2.0 authorization

我们考虑使用HTML和Javascript开发的单页客户端应用程序。

在这种情况下,即使使用隐式或身份验证代码流来请求访问令牌,仍会在某些Javascript中找到clientID和Secret,这可能是在发出令牌请求。另外,在网络跟踪中仍然可以看到在请求标头(或查询参数)中传递访问令牌。此外,访问令牌需要存储在本地浏览器中。

  • 将OAuth2用于基于Web的应用程序有多安全?
  • 如果客户端(浏览器)受到威胁,如何保护用户信息。

谢谢。

1 个答案:

答案 0 :(得分:2)

对于隐式OAuth,请勿在浏览器javascript中使用“客户端机密”。您只需要客户ID。客户ID不是机密信息,被视为公共信息。客户ID和范围确定了您希望授权的服务的权限。

  

将OAuth2用于基于Web的应用程序有多安全?

OAuth本身非常安全。但是,与任何安全性实现一样,它的强度仅与最弱的组件相同。对于隐式授权流(例如您的单页Web应用程序),身份验证在用户和身份提供者之间进行。流程完成后,您的应用将具有访问令牌和客户端ID令牌(可选)。隐式授予流的假设是用户存在于浏览器中,并且不会存储任何机密信息。

  

如果客户端(浏览器)为,则如何保护用户信息   受到影响?

如果用户的浏览器受到攻击,则无法保护任何内容。一旦生成了有权执行X的OAuth令牌,受感染的浏览器就可以继续执行X直到令牌过期。

如果您的问题是关于保护用户的登录名和密码,或其他类型的身份验证信息,那么如果浏览器受到威胁,此信息也将受到威胁。

总而言之,无论使用哪种技术进行身份验证和授权,受感染的浏览器都可能没有安全性。