我想验证以JSON密钥的形式从我的Google服务帐户中获得的Google服务帐户凭据。
我尝试通过在存储云上执行列表存储桶操作来验证凭据,这是成功的。
现在,我尝试了一种否定方案,即我从json文件中删除了几个键,例如: “类型”:“ yy”, “ private_key_id”:“ dsfdngdhgdsafa”, “ client_id”:“ 12133423123”,
但是我仍然可以访问我的存储桶列表,没有出现任何错误,但是当我更改除上面显示的以外的其他任何键(例如“ private_key”)时,它将失败。
有人可以帮助我吗,这个键根本不是必需的或者是出于特定目的的解释?为什么会这样呢?或任何其他可以验证凭据的方式?
答案 0 :(得分:1)
所需的唯一项是私钥private_key
和电子邮件地址client_email
。其他所有内容comments
供您使用(或客户端库),或提供其他信息以供Google端查找,例如:private_key_id
。
我不是针对可能实现也可能不实现自己的常识错误检查的客户端库。研究您正在使用的库以获取详细信息。
Google没有/提供服务帐户JSON密钥文件的任何安全性或验证。您有责任保护文件及其内容。
您可以使用服务帐户,创建“签名的JWT”并致电Google端点。无效的JWT将返回错误。
https://www.googleapis.com/oauth2/v4/token
我写了一篇文章,展示了如何获得服务帐户,创建签名的JWT以及如何交换OAuth访问令牌。我的文章包括有效的Python源代码。您可以以我的代码为例来创建自己的验证功能。