Estoy tratando de redirigir la página cuando envío datos desde oAuth, sin embargo, no puedo llegar al lado del cliente invocando res.redirect , así que traté de ponerlo en cualquier lugar pero aún no funciona.
y recibí un error como: Cannot set headers after they are sent to the client
¿Cómo puedo cambiar la URL con redirect ? si no se puede cual es otra alternativa??
Gracias de antemano !
Aquí está el código:
app.get("/callback", cors(), (req, res) => { if (req.query.code !== null && req.query.code !== undefined) { var token_url = "https://www.oauthserver/oauth2.0/token"; //this is Oauth server var options = { url: token_url, method: "POST", form: { grant_type: "authorization_code", client_id: client_id, client_secret: client_secret, redirect_uri: redirectURI, code: req.query.code, state: req.query.state, }, }; request(options, function (error1, response1, body1) { if (!error1 && response1.statusCode == 200) { var tdata = JSON.parse(body1); var options2 = { url: "https://www.oauthserver/oauth2.0/resource", //this is Oauth server headers: { "Content-Type": "application/json", Authorization: "Bearer " + tdata.access_token, }, }; request(options2, function (error2, response2, body2) { if (!error2 && response2.statusCode == 200) { res.redirect("http://localhost:3000"); //client Side res.status(200).send(body2); console.log(JSON.parse(body2)); } else { res.status(response2.statusCode).end(); console.log("error2 = " + response2.statusCode); } }); } else { res.status(response1.statusCode).end(); console.log("error1 = " + response1.statusCode); } }); } });