【问题标题】:Reset gcloud auth identity token?重置 gcloud auth 身份令牌?
【发布时间】:2020-06-02 13:58:30
【问题描述】:
我正在开发一项不公开的 gcloud 服务,即您需要使用您的授权标头与您的 gcloud 身份令牌设置连接到它。
文档使用 curl 来展示如何从命令行使用它,但是由于我的案例涉及 Web 应用程序,我使用浏览器扩展程序在连接到页面时注入此标头。
愚蠢的我,我完成后忘记关闭,这导致访问一些网站,并在请求标头中设置了该令牌。这意味着一些第三方现在可能拥有该代码。
与此相关的 2 个问题:
- 这有多糟糕?不怀好意的人能用这个令牌做什么?
- 如何重置/撤销/更新此令牌?
【问题讨论】:
标签:
authentication
authorization
token
gcloud
【解决方案1】:
身份令牌是 JWT 并且是不记名令牌(正如您无疑知道的那样),通常包括短暂(60 分钟)的到期时间。
正如您所建议的,您应该对它们非常小心,因为它们可能会被不道德地使用(有效时)。
您可以使用(值得信赖的!)工具查询您的 JWT 以检查到期时间:
例如https://jwt.io/
我不确定(并不意味着没有)是否有办法强制使 Google 发布的 JWT 失效
更新:
与一位非常了解身份验证的 Google 员工交谈,他确认您必须等待到期。
更新:
独立地,我提醒自己,谷歌也有一个(非常值得信赖的)端点来验证令牌(我永远记不住 URL,但是)它是:
TOKEN=$(gcloud auth print-identity-token)
curl \
--request GET \
https://oauth2.googleapis.com/tokeninfo?id_token=${TOKEN}
为了完整起见,访问令牌:
TOKEN=$(gcloud auth print-access-token)
curl \
--request GET \
https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}