2016-05-19 3 views
0

Я пытаюсь получить маркер OAuth2 от Google и продолжать получать этот ответ:«Недопустимый JWT: ошибка проверки аудитории». Ошибка при попытке получить OAuth токен от Google

{ 
    "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

Они говорят:

«дескриптор от предполагаемой цели утверждения При создании маркеров запроса доступа это значение всегда 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} 

Кто-нибудь знает, что может быть причина моего чека аудитории на провал, и что я должен использовать в качестве этого значения? Возможно ли, что другие части моего запроса Token неверны, и просто говорит, что проверка моей аудитории не проходит?

ответ

2

Похоже, что ваш код клиента передает параметры конечной точке маркера в качестве параметров запроса вместо требуемых параметров POST.

+0

Thanks Hans! Вы совершенно правы. – Brad

+0

@ Брад, это сработало? Я получаю ту же ошибку, когда я отправляю параметры «grant_type» и «assertion» в качестве параметров запроса. Тем не менее, когда я посылаю их в качестве параметров POST, я получаю { «ошибка»: «invalid_request», «error_description»: «Параметр Обязательный отсутствует: grant_type» } – SamDevx

+0

@SamDevx Какое значение вы дать grant_type и как вы в конечном итоге сделали запрос POST? – bibscy

Смежные вопросы