我想知道是否可以使用gcloud
命令验证用户的身份。
我的第一个想法是让他们运行gcloud auth list
,它的输出类似于:
$ gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* john.smith@somewhere.com
To set the active account, run:
$ gcloud config set account `ACCOUNT`
这种方法的问题是用户可以编辑输出来谎报他们的身份(例如bob.ross
可以用john.smith
替换他们的名字来伪造证明)。
gcloud
命令行也有print-access-token
和print-identity-token
…是否有可能使用这些令牌来检查用户是否真的是他们所说的那个人?
我试着用谷歌搜索,但还没有找到任何相关的东西…大多数文章都指向gcloud auth login
😞…
您可以使用print-identity-token
,然后使用公共证书验证OIDC身份令牌签名。这将验证用户在Google中进行身份验证的身份(电子邮件地址)。用户修改内容时,签名将失效。
有很多关于如何验证OIDC令牌签名的文章,包括Stack Overflow的答案。
您使用的措辞是用户身份. 您只能验证存储在Google中的身份。在大多数情况下,谷歌不会验证用户的身份,比如匹配驾驶执照、护照等。