Google 身份服务:什么可以阻止其他人使用我的客户端 ID?

问题描述 投票:0回答:1

对于传统的 oauth2 授权代码流程,浏览器会被重定向到应用程序服务器上列入白名单的 URL,这意味着前端应用程序永远不会收到代码。

在实现react-oauth2/google时,我发现默认的“uxmode”是“popup”,它不需要任何应用程序服务器交互,并在用户通过Google进行身份验证后将ID令牌返回给前端。仅需要将“授权 JavaScript 来源”配置为服务后端,我认为这仅适用于 CORS,不应被视为安全。

此处的建议是,返回的 ID 令牌应发送到后端并进行验证(包括检查受众是否是我们的客户端 ID)。然后我们就可以相信用户就是他们所说的那个人,并颁发一个应用程序令牌以用于后端 API)。 有了新流程,什么可以阻止有人简单地使用我公开的客户端 ID 来冒充我?毫无戒心的用户可以访问冒充网站并使用 google 进行身份验证,此时恶意应用程序具有有效的 Google ID 令牌,我的客户端 ID 作为受众,并且可以与我的后端交换应用程序令牌。

如果黑客使用您的 clientId,他们仍然会被重定向回您的应用程序。重定向 URL 在 Google 中针对您的客户端 ID 进行了硬编码,在此示例中它可以保护您,并且它们无法被重定向到黑客应用程序。
security oauth-2.0 google-oauth websecurity
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.