我已阅读此文档
https://cloud.google.com/docs/authentication/getting-started?hl=ru#auth-cloud-implicit-java
https://cloud.google.com/storage/docs/reference/libraries?hl=ru
https://developers.google.com/identity/protocols/OAuth2ServiceAccount#callinganapi
(我已经获得了服务帐户的.json凭据)
又不能聪明 关于要获取身份验证令牌或api密钥的凭据的地址请求
只有库。 凭证以某种方式授权,但是如何使用HTTPS?
答案 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"
}
也不要忘记为您的服务帐户提供特权以在存储中读取