“Invalid JWT:Failed audience check.”尝试从Google获取OAuth Token时出错

abithluo  于 12个月前  发布在  Go
关注(0)|答案(4)|浏览(132)

我试图从谷歌获得OAuth2令牌,并不断得到这样的回应:

{
  "error": "invalid_grant",
  "error_description": "Invalid JWT: Failed audience check. The right audience is https://www.googleapis.com/oauth2/v4/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1cGRhdGUtbG9jYXRpb24tZGF0YUB0b3RlbWljLWd1aWxkLTEyOTIyMC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNjb3BlIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9wbHVzLmJ1c2luZXNzLm1hbmFnZSIsImF1ZCI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL29hdXRoMi92NC90b2tlbiIsImlhdCI6MTQ2MzY4MjEwOSwiZXhwIjoxNDYzNjg1NjQ5fQ==.a09YUnpiY0FZZFZDUm5PaC91ZkV6ZUtJNGp4WWRWcHY3eFhHNVBXTmw2TGNjZ0JKZThTS2pENitldGNqZzFPMlRRMmNEWWx0aHBNU2k4NS9GeVhnQXdaMHRXVTVEbmcxcXFXQzFRYlp6NmNTZFNlcUt3TElGZjRLeHJCTTgxcVBmVSttQTM0dmprTGtSeEVsWC8vNGpTNDdYM0dobEk2THJOL2xOa2tXcnpEZlk2K1QrNk5OSndyTXhOaTZmcFdXQ09KVE9Gd0tVSnZjYnR1VWNLYnVXbzBqVEhqL056aHBPbkROVW1SSEpYY2JpU3VxVWdRai9PZldiR1p5bzJFK3ZtRzQ5NXdmdDdMMXJkQWdMZkZPcitpeWZVd1FneXVmZFUrRGd1dlZPOWdZSENrS1Fnd0tZb0tUbjNIU29Bcm13OE9OL0RFdkVPM2N2YjhTbFoxbjhRPT0="
}

字符串
服务帐户(我正在使用)的文档在这里:https://developers.google.com/identity/protocols/OAuth2ServiceAccount#authorizingrequests
他们说:
“Assert的预期目标的描述符。当发出访问令牌请求时,此值始终为https://www.googleapis.com/oauth2/v4/token。”
所以当我形成我的声明集时,它看起来像这样:

{"iss":"********.iam.gserviceaccount.com","scope":"https://www.googleapis.com/auth/plus.business.manage","aud":"https://www.googleapis.com/oauth2/v4/token","iat":1463683812,"exp":1463687352}


有谁知道什么可能导致我的观众检查失败,我应该使用什么作为该值?有没有可能我的令牌请求的其他部分是不正确的,它只是说我的观众检查失败?

xj3cbfub

xj3cbfub1#

截至目前(2020年2月7日),aud值为

https://oauth2.googleapis.com/token

字符串
Link.截图如下。
在OP的时候,它是

https://www.googleapis.com/oauth2/v4/token


的数据

gwo2fgha

gwo2fgha2#

看起来您的客户端代码正在将参数作为查询参数而不是必需的POST参数传递给令牌端点。

hxzsmxv2

hxzsmxv23#

对我来说,在body中发送这些参数,而不是在query中使用它们。


的数据
我的索赔集:

var now = ~~(Date.now() / 1000);
var data = {
  "iss": "[email protected]",
  "scope": "https://www.googleapis.com/auth/prediction",
  "aud": "https://www.googleapis.com/oauth2/v4/token",
  "iat": now,
  "exp": now + 3600
}

字符串

bnl4lu3b

bnl4lu3b4#

我的jwt是不正确的,与自定义网址,因为我使用代理
我monopolatch库为自定义请求,但股票jwt,所有的工作

相关问题