eBay OAuth invalid_grant при попытке получить токен доступа - PullRequest
0 голосов
/ 06 мая 2020

Сейчас я пытаюсь получить небольшое приложение для аутентификации моего пользователя.

Сначала я перехожу к

https://auth.ebay.com/oauth2/authorize?
  client_id=...&
  response_type=code&
  redirect_uri=...&
  scope=...

, который просит меня войти в систему, а затем дает мне код авторизации через URL-адрес.

Я расшифровываю URL-адрес и использую почтальон для запроса токен доступа, нажав:

https://api.ebay.com/identity/v1/oauth2/token

с заголовками:

Authorization: Basic ...
Content-Type: application/x-www-form-urlencoded

Они оба кажутся правильными, поскольку, если я изменю любой из них, я получаю сообщение об ошибке, что они неправильно.

И в теле:

grant_type: authorization_code
redirect_uri: ...
code: ...

И снова все эти ошибки по отдельности, если я заменю их на что-то другое.

Я получаю следующую ошибку:

{
    "error": "invalid_grant",
    "error_description": "the provided authorization grant code is invalid or was issued to another client"
}

Что для меня очень странно. Здесь используются те же redirect_uri и client_id, что и в предыдущем запросе.

Я попытался создать новый URL-адрес перенаправления, я попытался повернуть секрет клиента, я попытался не декодировать URL-адрес кода авторизации, но что бы я ни пробовал, я получаю ту же ошибку.

Интересно, что если я запрашиваю grant_type для client_credentials, который работает отлично, но мало полезен для меня.

Я очень запутался, а ebay форумы не помогают, любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 06 мая 2020

Мне действительно удалось это исправить.

Я декодировал код по URL-адресу, используя decodeURI js, который на самом деле ничего не декодировал. Перешел на decodeURIComponent и теперь вроде работает нормально

...