根据Google的documentation on using service account,这是我到目前为止所做的。
使用以下有效负载创建JWT(json web令牌)。
{"iss":"XXXXXXXX.gserviceaccount.com",
"aud":"https://www.googleapis.com/oauth2/v4/token",
"iat":"1465531250",
"exp":"1465534850",
"scope":"email profile}
使用Postman,我按照以下方式进行了http发布,希望能够获得oAuth2访问令牌。
网址:https://www.googleapis.com/oauth2/v4/token
接头:
Content-Type: application/x-www-form-urlencoded
grant_type: urn:ietf:params:oauth:grant-type:jwt-bearer
assertion: <the JWT generated in step 1 above>
相反,我得到了如下错误响应。
{
"error": "invalid_request",
"error_description": "Required parameter is missing: grant_type"
}
有人可以找到我的请求有什么问题吗?
我甚至尝试了“https://accounts.google.com/o/oauth2/token”的不同端点,其grant_type为“authorization_code”以及“http://oauth.net/grant_type/jwt/1.0/bearer”。那也返回了同样的错误!
答案 0 :(得分:0)
grant_type
和assertion
参数不作为请求标头传递,而是作为邮政请求参数传递(grant_type=xxxxxx&assertion=yyyyy
)