【问题标题】:Google oauth - Getting roles assigned to a user using access_tokenGoogle oauth - 使用 access_token 获取分配给用户的角色
【发布时间】:2018-06-26 20:54:47
【问题描述】:

是否可以从 Google OAUTH 服务器生成的访问令牌或 ID 令牌中获取分配给用户的角色?

【问题讨论】:

  • 您如何定义 Google 角色? Id 令牌是一个 jwt 转储在这里它jwt.io 你可以看到它包含什么
  • 我试过了,但它不包含分配的角色信息
  • 我在 Google Cloud Platform 控制台上创建了自定义角色

标签: oauth-2.0 google-cloud-platform roles google-oauth


【解决方案1】:

有办法做到这一点:

  • 首先,您将使用与该帐户对应的访问令牌。使用访问令牌调用 tokeninfo endpoint 以检索帐户的电子邮件(来自 JSON 响应正文)。返回电子邮件的 URL 将是:
url = "https://www.googleapis.com/oauth2/v1/tokeninfo?fields=email&access_token=" + access_token;
  • 下一步是检索所选项目成员的 IAM 角色,并检查上一步中的电子邮件是否在其中(如果是,属于哪个角色):

通过使用 HTTP 请求调用 getIamPolicy() 获取现有 IAM 政策(将 PROJECT-ID 替换为您感兴趣的项目:

POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT-ID:getIamPolicy

回复正文包含成员电子邮件及其角色。

【讨论】:

    猜你喜欢
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2023-02-14
    • 2018-01-06
    • 2020-03-20
    相关资源
    最近更新 更多