Cloud Run 的 Google 文档指出,您可以“从授权标头中提取令牌”(文档在这里 https://cloud.google.com/run/docs/authenticating/end-users#getting_user_profile_information)以便对其进行验证并获取有关请求用户的更多信息。
然而,当读到Authorization
处理请求时的 header 中,似乎令牌的部分内容在通过 Google 的身份验证前端后已被编辑。例如
Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImY2ZjgwZjM3ZjIxYzIz.SIGNATURE_REMOVED_BY_GOOGLE
这是 Cloud Run 中的错误还是我们需要执行其他操作才能获取完整的 Bearer 令牌?
以下是 Cloud Run 中看到的授权标头和 SIGNATURE_REMOVED_BY_GOOGLE 的详细信息:
- If
allUsers
启用后,JWS 签名就会通过并且不会被替换。
- If
allUsers
未启用且 OIDC 令牌来自 Google 帐户 (gmail),则签名将被替换。
- If
allUsers
未启用且 OIDC 令牌来自服务帐户,则不会替换签名。
[2021 年 3 月 8 日更新]
Google 编辑身份令牌签名的原因是为了防止身份令牌重复使用。有效的身份令牌将允许该服务使用另一个服务冒充用户/帐户,这是存在安全风险的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)