Задать вопрос
@vahelce

Как сделать авторизацию на сайте через OAauth2 Discord?

День добрый, второй день пытаюсь решить вопрос.
Мне необходимо сделать авторизацию на сайте через Discord. Я создал приложение, сгенерировал специальную ссылку для получения токена (типа такой: https://discord.com/api/oauth2/authorize?response_...), авторизируюсь, меня редиректит на сайт, но авторизация через Discord не проходит - API возвращает 401 Not Authorized. Использую axios для http-запросов.

Согласно документации, для авторизации необходимо передавать токен в заголовке при обращении к API.
async function login({ access_token }) {
    if (!access_token || access_token === "") {
        return {
            success: false,
            reason: "The token is not specified"
        };
    }
    /**
     * Вернет информацию о пользователе если всё в порядке
     */
    await require('axios').get('https://discord.com/api/v9/users/@me', {
        Headers: {
            Authorization: 'Bearer ' + access_token
        }
    }).then(r => {
        console.log(r.data);
        return {
            success: true
        };
    }).catch(e => {
        if (e.response) {
            console.log(e.response.status); // 401 всегда!
        } else {
            console.log(e.message);
        }
    });
}
export { login };

Спасибо заранее.
  • Вопрос задан
  • 950 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы