使用已安装应用程序的 OAuth 2.0 PKCE 流程(例如桌面应用程序/cli/客户端库),似乎没有什么可以阻止攻击者:
client_id(client_id是公开的,可以从浏览器栏/源代码轻松复制)如果没有 PKCE,就很难伪造应用程序并获取刷新令牌,因为这需要攻击者获取client_secret. 在我看来,虽然 PKCE 提供了比隐式流更高的安全性改进,但它使得伪装使用 OAuth 2.0 的真实应用程序变得更加容易?
我正在使用 googlecloudsdk (gcloud),它似乎将client_id(甚至许多client_id/client_secret 对)硬编码到源代码中,并将其分发给客户端。我怀疑有什么可以阻止攻击者伪造 gcloud 从而获得对用户 GCP 环境的访问权限(为了证明,运行gcloud auth login它会在控制台中向您显示攻击者所需的网址。)任何人都可以澄清/帮助我了解发生了什么情况?
目前我正在尝试为 OAuth 2.0 授权流程创建一个客户端,实际上是一个本机应用程序。此处的规范指出有 3 种方法来处理重定向 URI:自定义 URI 方案、环回接口和声明的“https”方案 URI。
我很难掌握如何实现这些东西,因为我尝试在互联网上找到它但无济于事(当我在环回服务器或自定义 url 方案上寻找信息时,我没有遇到这样的问题实现,事实上我已经成功地实现了它们)。
我确信我用错了词,所以我寻求帮助。如何允许应用程序声明“https”方案 URI?有些资源会很完美。平台是Windows和Linux。