多个 Google Oauth2 客户端 - 当用户授予不同客户端访问权限时,刷新令牌被撤销

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

我正在构建一个系统,用户可能需要授予对 1 个或多个 Google 服务的访问权限(使用 Oauth2 服务器流程)。

对于他们授权的第一个服务,一切都运行良好 - 然而,当他们授权第二个服务(使用不同客户端 ID 和密钥)时,第一次授权的原始刷新令牌将失效。

这是预期的行为还是我在某处做错了什么?

我希望通过使用多个客户端 ID 和机密,我应该能够存储多个刷新令牌,每个服务授予访问权限一次 - 这样用户和我都可以完全控制共享内容和使用位置

google-cloud-platform oauth-2.0 youtube-api google-oauth
1个回答
0
投票

客户端 ID + 客户端密钥 + 刷新令牌是访问用户数据所需的组合。

刷新令牌只能与用于创建它的客户端 ID 和密钥一起使用。

每个应用程序只能有两个客户端 ID。一个用于测试/开发,另一个用于生产。您应该只为用户存储一个刷新令牌,该令牌包含对您所需的所有范围的访问权限。

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