邮递员和Google服务帐户,如何授权?

时间:2019-03-17 09:54:38

标签: google-api google-cloud-storage storage service-accounts

1 个答案:

答案 0 :(得分:0)

找到了。

使用参数在JWT.io上使用RS256对其进行签名

标题:

{   “ alg”:“ RS256”,   “ typ”:“ JWT”,   “ kid”:“ your_private_key_id” }

有效载荷:

{   “ iss”:“ your_client_email_of_service_account”,   “ sub”:“您的客户_电子邮件_服务帐户”,   “ aud”:“ https://www.googleapis.com/oauth2/v4/token”,   “ scope”:“ https://www.googleapis.com/auth/devstorage.read_only”,   “ iat”:current_unix_time,   “ exp”:current_unix_time + 3600 }

验证签名

最后一个字段中的您的私人密钥(无\ n)

获取编码密钥

然后

POST / oauth2 / v4 /令牌HTTP / 1.1

主持人:www.googleapis.com

Content-Type:应用程序/ x-www-form-urlencoded

缓存控制:无缓存

grant_type = urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion = ENCODED_KEY_FROM_JWT.IO

我得到了答复

{

"access_token": "ya21.c.ElrSBodwuWANeh7Q0-zlXpOxqm9-uEszPElsY2tvoG5aPxRgOkasN5G2sMgj3iosPVbRYk1wXw_DcBnm2FtuNBlZpv_wCC0YS5pWMykR8Ouf5CZg-8OK842rvfk",

"expires_in": 3600,

"token_type": "Bearer"

}

也不要忘记为您的服务帐户提供特权以在存储中读取