Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向node.js中的重定向url发送设置cookie头_Javascript_Node.js_Express_Redirect_Cookies - Fatal编程技术网

Javascript 向node.js中的重定向url发送设置cookie头

Javascript 向node.js中的重定向url发送设置cookie头,javascript,node.js,express,redirect,cookies,Javascript,Node.js,Express,Redirect,Cookies,我正在使用node.jsrequestmodule从API获取id\u令牌。获取id_令牌后,我想向重定向的url发送一个带有设置cookie头的重定向uri响应。但我不太明白怎么做 这是我的密码: app.use("/nodejs-server/retrieveCode", function(req, res) { var clientID = 'some random string' var client_Secret = 'another random s

我正在使用node.js
request
module从API获取id\u令牌。获取id_令牌后,我想向重定向的url发送一个带有
设置cookie头的
重定向uri
响应。但我不太明白怎么做

这是我的密码:

app.use("/nodejs-server/retrieveCode", function(req, res) {

        var clientID = 'some random string'
        var client_Secret = 'another random string'
        var code_token = clientID + ":" + client_Secret
        var buffer = new Buffer(code_token)
        var token = buffer.toString('base64')
        var rtoken = "Basic " + token;
        var headers = {
            'Content-Type': 'application/json',
            'Authorization': rtoken
        }
        var postData = {grant_type: 'authorization_code', code: req.query.code, redirect_uri: 'http://localhost:3000/nodejs-server/retrieveCode'} //Query string data
        var options  = {
            method: 'POST', //Specify the method
            body: postData,
            url: 'http://localhost:4000/server/token',
            json: true,
            headers: headers
        }
        request(options
        , function(error, response, body){
            if(error) {
                console.log(error);
            } else {
                //send a redirect uri and set-cookie header response

            }
        });
我试着用

res.redirect(302, "http://localhost:9000");
它可以重定向,但我也不能发送cookie


非常感谢您的帮助。

经过大量的尝试和错误,以及谷歌搜索,我终于能够实现我的目标。为了向重定向URL发送一个过期的cookie,我刚刚添加了

s = body.exp.toUTCString();
res.cookie('id_token' ,body.id_token, {expires: s});
res.redirect(302, 'http://localhost:8080');

在express 4.16.3中,必须设置

库奇决议()

以前

res.重定向()


它对我来说很有效,没有错误

只需注意,302是不需要的,因为Express已将302作为默认状态代码。如果没有Express,您将如何执行此操作?