我正在编写一些代码,试图在OAuth2中获取Google使用的令牌.这是针对服务帐户的,因此说明如下:
https://developers.google.com/identity/protocols/OAuth2ServiceAccount
当我将JWT发布到Google时,我一直收到此错误:
{"error":"invalid_grant","error_description":"无效的JWT签名." }
这是代码:
try{
var nowInSeconds : Number = (Date.now() / 1000);
nowInSeconds = Math.round(nowInSeconds);
var fiftyNineMinutesFromNowInSeconds : Number = nowInSeconds + (59 * 60);
var claimSet : Object = {};
claimSet.iss = "{{RemovedForPrivacy}}";
claimSet.scope = "https://www.googleapis.com/auth/plus.business.manage";
claimSet.aud = "https://www.googleapis.com/oauth2/v4/token";
claimSet.iat = nowInSeconds;
claimSet.exp = fiftyNineMinutesFromNowInSeconds;
var header : Object = {};
header.alg = "RS256";
header.typ = "JWT";
/* Stringify These */
var claimSetString = JSON.stringify(claimSet);
var headerString = JSON.stringify(header);
/* Base64 Encode These */
var claimSetBaseSixtyFour …Run Code Online (Sandbox Code Playgroud) 我确定这是一个多余的问题,但我已经找了一个小时左右,空手而归,所以希望有人能帮忙......
寻找一种方法来使用JS(而不是jquery)在搜索'Chicken'(或任何值)时返回下面的li类.
<li class='113252'>
<span>Chicken</span>
</li>
Run Code Online (Sandbox Code Playgroud)
因此希望javascript在给定span值时返回li类(在本例中为Chicken).
谢谢!
我正在尝试从 google 获取 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="
}
Run Code Online (Sandbox Code Playgroud)
服务帐户(我正在使用)的文档在这里:https : //developers.google.com/identity/protocols/OAuth2ServiceAccount#authorizingrequests
他们说:
“断言的预期目标的描述符。在发出访问令牌请求时,此值始终为https://www.googleapis.com/oauth2/v4/token。”
所以当我形成我的 Claim Set 时,它看起来像这样:
{"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}
Run Code Online (Sandbox Code Playgroud)
有谁知道什么可能导致我的受众检查失败以及我应该使用什么作为该值?我的令牌请求的其他部分是否有可能是不正确的,它只是说我的受众检查失败了?