假设使用单页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地址,这是浏览器知道要与之交谈的唯一地址,但只是想通过询问来确保这种情况......
答案 0 :(得分:1)
您可以并且可能应该使用授权代码授予与SPA应用程序以及(因为没有客户端密钥)Proof Key for Code Exchange by OAuth Public Clients。