【发布时间】:2017-04-12 09:45:40
【问题描述】:
此问题与本机移动应用程序中基于 OAuth 的登录有关。根据授权授予类型流程,用户在登录页面中输入用户 ID、密码,作为响应,在 URL 中获取授权码(由于其 URL,基于 https 的加密也不起作用)。
这意味着授权代码在代理中可用,任何人都可以使用它,只要他们也有客户端密码。客户端密码不能存储在移动应用程序中,因为移动应用程序也不被认为是安全的。我想到的绕过客户端密码安全性的方法是提供一个服务器端端点,移动客户端可以在其中调用客户端 ID、授权码和重定向 url。端点将丰富客户端密钥,然后调用实际令牌端点来获取访问令牌。访问令牌是安全的,因为整个通信都是通过 HTTPS 进行的。
现在的问题是 - URL 参数中的授权代码不安全且易受攻击。还是我对安全性考虑过度了。这是首要问题,如果这确实是一个安全问题,采取的缓解措施是什么?
我可以从一个较旧的 stackoverflow 线程中想到的一个选项是保护令牌端点,该端点将从服务器端提供访问令牌。关于如何做到这一点的任何建议? - 如果是它的证书,那么证书将被打包在移动应用程序中,使其再次变得不安全)
【问题讨论】: