Параметры URL из перенаправленного URL - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь реализовать службу OAuth2 , где я могу получить код авторизации с сервера, и сервер перенаправляет меня на redirect_url с параметром code (где код = токен авторизации (код разрешения авторизации)) .

Теперь мне нужно использовать токен авторизации для отправки запросов на сервер.Но я не могу получить токен 1014 * с перенаправленного URL-адреса для использования в моем приложении.

index.js

app.get('/oauth2', function(req, res){
res.redirect('https://api.codechef.com/oauth/authorize? response_type=code&client_id=CLIENT_ID&state=xyz&redirect_uri=http://localhost:3000/login');

});

С помощью приведенного выше фрагмента я могу получить токен авторизации в перенаправленном URL-адресе в виде:

http://localhost:3000/login?code=3f608c5f1a019e51997e77bcXXXXXX643ea875ad&state=xyz

Теперь я хочу получить код в приведенном выше URL и используйте его для отправки запросов вместе с некоторыми другими параметрами.В основном мне нужен этот код в качестве переменной в моем приложении Nodejs .

1 Ответ

0 голосов
/ 23 сентября 2018

Вам необходимо создать API, соответствующий перенаправленному URL.

API, соответствующий http://localhost:3000/login?code=<code>&state=<state>, будет выглядеть следующим образом:

app.get('/login', (req, res) => { /** Logic */ })

Как только вы это сделаете, это будет тривиальнополучить код и состояние из req:

app.get('/login', (req, res) => {
    console.log('code', req.query.code)
    console.log('state', req.query.state)
    /** Logic */
    res.json(req.query); // <-- send them back in case you want them in response
})

Если вы все еще получаете req.query как пустой объект, дайте мне знать в комментариях.

...