什么可以保护单页webapp(SPA)中的访问凭据?

时间:2018-04-09 03:13:34

标签: javascript https oauth-2.0 amazon-cognito openid-connect

方案

假设使用单页webapp https://example.com?secure=maybe的黑客已经过身份验证并获得了用于访问微服务的OpenID Connect令牌。

黑客设法从应用程序中提取这些凭据。 (Follow up question on that here

黑客创建另一个在localhost上运行的应用程序,用于加载获取的凭据。黑客还将localhost指向https://example.com中的/etc/hosts,这样现在打开地址https://example.com可以运行黑客网络应用程序,而不是真正的应用程序。

问题

黑客应用程序现在可以使用OpenID Connect令牌访问原始应用程序使用它的相同微服务吗?

显而易见的答案似乎没有,因为https://example.com仍然解析为localhost的ip地址,这是浏览器知道要与之交谈的唯一地址,但只是想通过询问来确保这种情况......

1 个答案:

答案 0 :(得分:1)

您可以并且可能应该使用授权代码授予与SPA应用程序以及(因为没有客户端密钥)Proof Key for Code Exchange by OAuth Public Clients