Vimeo редирект URI не совпадает, но обе ссылки одинаковы - PullRequest
0 голосов
/ 16 января 2020

Я испытываю Vimeo API и выполняю запросы, поскольку пакет nodejs для Vimeo в настоящее время не поддерживает Promises. Я делаю аутентификацию для наших пользователей, чтобы иметь возможность загружать на Vimeo. Тем не менее, у меня есть эта ошибка, как только я запросил токен доступа.

400 - {"error":"invalid_request",
"error_description":"The provided redirect uri does not match the one used to create the authorization code"}

Как указано в API Vimeo, вот как я создаю URL аутентификации:

const query = {
      redirect_uri: `https://thisisasitefortesting.com/curriculum/redirect`,
      response_type: 'code',
      client_id: process.env.VIMEO_UPLOAD_CLIENT_ID,
      scope: 'private create edit upload public',
      state: 'hello world',
    };

    const URL = `https://api.vimeo.com/oauth/authorize?${qs.stringify(query)}`;

    window.open(URL);

И вот как я запрашиваю токен доступа (который находится внутри функции Firebase, так как я не могу запросить токены доступа на стороне клиента):

try {
    const { code } = req.body;
    const options = {
      body: {
        grant_type: 'authorization_code',
        redirect_uri: 'https://thisisasitefortesting.com/curriculum/redirect',
        code,
      },
      headers: {
        Authorization: `basic ${Buffer.from(`${vimeo.upload_id}:${vimeo.upload_secret}`).toString(
          'base64'
        )}`,
        'User-Agent': 'Request-Promise',
        'Content-Type': 'application/json',
        Accept: 'application/vnd.vimeo.*+json;version=3.4',
      },
      uri: 'https://api.vimeo.com/oauth/access_token',
      json: true,
      method: 'POST',
    };

    const response = await rp(options);
    return res.json({ accessToken: response.access_token });
  } catch (error) {
    return res.status(500).json({ error });
  }

Оба URI одинаковы, но я все еще продолжаю получать это ошибка. Что бы я сделал? Спасибо всем, кто ответит.

...