GitHub OAuth App - получение токена
У меня есть простое веб-приложение, которое я тестирую на локальном хосте (с использованием http-сервера), в котором я пытаюсь авторизовать его в соответствии с руководством по GitHub.
Мне удалось перенаправить на страницу GitHub, чтобы пользователь мог войти туда и получить временный код, возвращаемый из GitHub в качестве параметра запроса.
Однако я не могу получить токен авторизации, потому что каждый раз, когда я отправляю запрос POST со всеми необходимыми данными, я получаю сообщение об ошибке CORB.
Код, который я использую для этого:
const getGitHubToken = async code => {
return await fetch(authData.accessTokenURL, {
method: 'POST',
body: {
client_id: authData.client_id,
client_secret: authData.client_secret,
code
},
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
});
};
Итак, мои вопросы:
- почему не работает
- безопасно ли хранить client_id и client_secret на стороне клиента
- какие-либо предложения, если это хорошая идея применить этот подход, когда моя цель - создать приложение, способное запрашивать GitHub API (общая статистика, публичные репозитории), как я могу сделать это лучше?