День добрый, второй день пытаюсь решить вопрос.
Мне необходимо сделать авторизацию на сайте через 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 };
Спасибо заранее.