【问题标题】:How to add multiple target_audience in google authentication jwt?如何在 google 身份验证 jwt 中添加多个 target_audience?
【发布时间】:2019-08-28 11:36:22
【问题描述】:

我需要从 google oauth2 服务获取多个特定服务的 id 令牌。

{"typ":"JWT","alg":"RS256"}.{"aud":"https://www.googleapis.com/oauth2/v4/token","exp":"1566830430","iat":"1566827130","iss":"my_project.iam.gserviceaccount.com","target_audience", "www.myservice.com/location"}

它返回我和 id 令牌以将任何数据发布到位置服务,但我也想将数据发布到我的时间服务 (www.myservice.com/time)。

如何将这 2 个 URL 设置为目标受众?

【问题讨论】:

    标签: jwt google-oauth google-iam target-audience


    【解决方案1】:

    该字段目前不支持设置多个值。

    考虑改为将自签名 JWT [1] 发送到 https://iamcredentials.googleapis.com/v1/{name=projects//serviceAccounts/}:generateIdToken [2]。尽管它也不支持一次调用中的多个受众,但它仍然是用于为您的服务帐户获取 ID 令牌的正确 API。

    [1]https://developers.google.com/identity/protocols/OAuth2ServiceAccount#jwt-auth

    [2]https://cloud.google.com/iam/credentials/reference/rest/v1/projects.serviceAccounts/generateIdToken

    【讨论】:

    • 我已阅读指定为 [2] 的文档,并且在此文档中,无法连接到我见过的多个服务。另外,您的意思是我需要使用 [2] 方法而不是我的方式来获取 id 令牌,但我只需要为我的不同特定服务生成一个 id 令牌。问题是这样的。
    • 我不认为有办法在同一个 ID 令牌中支持多个受众,或者支持使用当前的 Google 服务帐户 API 从单个 API 调用生成多个 ID 令牌。
    • 所以我将为所有的服务一个一个地拥有一个 id 令牌。谢谢你。
    猜你喜欢
    • 2019-09-18
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2018-03-01
    • 2019-04-03
    • 2021-03-13
    相关资源
    最近更新 更多