【发布时间】:2023-04-07 18:44:01
【问题描述】:
我正在创建 Node.js 服务器,它使用 Google Oauth2 对用户进行身份验证。我在 Google Cloud Platform 中创建了我的组织中的项目。而且我已经设置了 Oauth2,因此只有我组织的用户可以被授权使用该服务。 所有用户都将被描述为项目的 IAM 成员,因此每个人都将拥有特定的角色和为其角色授予的权限。现在可以使用 Oauth2 在我的应用程序中对用户进行身份验证和授权(仅限我组织的用户)。问题是我不知道如何从 IAM 检索他们在我的项目中的角色。起初我以为我只需要在授权方法中传递特定的范围(我使用的是 Passport.js 和 GoogleStrategy)。但后来我意识到只有在用户获得下一个 API 请求的授权后才能完成(这对吗?)。 我已经读过IAM API documentation 很多次,但最终得到的方法是允许我检索角色或策略或可测试权限或在我的项目中创建和使用的东西的预设数组。但我看不到任何方法允许我要求服务检索用户的特定角色和权限(通过电子邮件或谷歌 ID)并将其发回给我,所以我的节点服务器知道这个用户被允许做什么做。也许我需要在其他地方挖掘..
【问题讨论】:
-
让我重新表述一下:您正在尝试使用 IAM 服务来添加和检查特定于您的应用程序的角色和权限,对吧?不是特定于 Google Cloud 的角色。你能确认一下吗?
-
@guillaume-blaquiere 是的,特定于我的应用程序。
标签: node.js google-cloud-platform oauth-2.0 google-iam google-cloud-iam