Как я могу перенаправить с node.js? res.redirect не работает - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь пройти аутентификацию с помощью Github, и я слежу за потоком их документов .

На моей стороне клиента (React. js) у меня есть кнопка, которая вызывает мой маршрут api / github:

клиент:

  <button onClick={githubAuth} className="social 
   github"><i className="fab fa-github"></i>    Log in 
   with Github</button>


const githubAuth = async (e) =>{
        e.preventDefault()
        try{
          await axios.get('http://localhost:5000/api/oauth/github')
        }
        catch(err){
          console.log(err)
        }
    }  

Сервер:

router.get('/github', async (req,res) => {
    try{
      res.redirect('https://github.com/login/oauth/authorize/?client_id='+config.get('githubClientId'))
    }
    catch(err){
        console.log(err.response)
    }
})

проблема в том, что мое перенаправление не работает. в моей консоли F12 я получаю это сообщение:

"xhr. js: 178 GET https://github.com/login/oauth/authorize/?client_id=d5182c08d55e334124a5 net :: ERR_FAILED"

Как я могу обычно перенаправляют мою клиентскую страницу на страницу авторизации Github?

1 Ответ

0 голосов
/ 01 августа 2020

Вам необходимо запустить браузер пользователя для посещения вашего GitHub OAuth в: 'http://localhost:5000/api/oauth/github'

Оттуда express перенаправит вашего пользователя на соответствующую страницу GitHub для авторизации.

const githubAuth = async (e) =>{
        e.preventDefault()
        const githubOAuthURL = 'http://localhost:5000/api/oauth/github';
        let githubTab = window.open(githubOAuthURL, '_blank');
        githubTab.focus();
    }  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...