Spotify URI из белого списка все еще возвращает {"error": "invalid_grant", "error_description": "Invalid redirect URI"} - PullRequest
0 голосов
/ 05 мая 2018

Я знаю, что уже есть вопросы, подобные этому, но все ответы в основном "О, я забыл поставить косую черту в конце", но это абсолютно сводит меня с ума. Я пытаюсь получить токен доступа от Spotify API, но продолжаю получать ошибку URI неверного перенаправления.

Вот мой вызов API

const request = require('superagent');

const data = {
    grant_type: 'authorization_code',
    code: code,
   // redirect_uri: encodeURIComponent('http://localhost:3000/Test')
   redirect_uri: 'http://localhost:3000/Test'
};

request.post('https://accounts.spotify.com/api/token')
    .set({
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': 'Basic ' + base64.encode(configs.client_id + ':' + configs.client_secret)
    })
    .send(data)
    .end((err, tokenRes) => {
        if (tokenRes) {
            res.send({token: tokenRes})
        } else {
            res.error(err);
        }
    });

и вот те URI, которые я внес в белый список:

http://localhost:3000/LoginRedirect

http://localhost:3000/Test

http://localhost:3000/Home

Я добавил так много комбинаций в белый список с косой чертой в конце, http: // s удалил подстановочные знаки, но я не могу избавиться от этой ошибки ... Любая помощь приветствуется.

1 Ответ

0 голосов
/ 24 мая 2019

Я столкнулся с той же самой проблемой после некоторого рефакторинга и сам сходил с ума. redirect_uri в почтовом запросе должен совпадать с первым redirect_uri со стороны клиента. Из документов Spotify :

Обязательно. Этот параметр используется только для проверки (нет фактического перенаправления). Значение этого параметра должно точно соответствовать значению redirect_uri, указанному при запросе кода авторизации.

...