如何将用户重定向到node.js中的另一个链接?

时间:2014-02-24 01:01:01

标签: javascript node.js express dropbox-api

我正在向dropbox发送请求以获取request_token。一旦我收到request_token,我需要重定向到“authorize_url”:“https://www.dropbox.com/1/oauth/authorize?oauth_token=H4bYgmttvjA1S332Zv”以获取access_token。

在javascript中我知道我们可以使用window.location来重定向url.but在node.js中我该怎么办?

exports.dropboxRequestToken = function(req, res){

    var app = dbox.app({ 
        "app_key": secrets.dropbox.key,
        "app_secret": secrets.dropbox.secret,
        "root": secrets.dropbox.root 
    });

    app.requesttoken(function(status, request_token){

        //console.log("status: " + status);

        if(status == 200){
            req.session.dropbox = {

                request_token: request_token,
                app_info: {
                    app_key: req.param('app_key'),
                    app_secret: req.param('app_secret'),
                    root: req.param('root')
                }
            };

            //I need to reidrect user to this URL https://www.dropbox.com/1/oauth/authorize?oauth_token=H4bYgmttvjA1S332Zv

        }
    });

};

这是请求令牌的输出:

{
  "status": 200,
  "request_token": {
    "oauth_token_secret": "ICOyjb0SqG69834ixo",
    "oauth_token": "H4bYgmttvjA1S332Zv",
    "authorize_url": "https://www.dropbox.com/1/oauth/authorize?oauth_token=H4bYgmttvjA1S332Zv"
  }
}

1 个答案:

答案 0 :(得分:1)

使用res.redirect!在这种情况下,我认为那将是:

res.redirect(request_token.authorize_url);

请务必不要忘记,如果用户身份验证成功,则还应发送响应。也许你会想要为他们提供错误代码500和一些进一步的信息。另请注意,如果由于Dropbox已关闭而无法发送请求,您可能希望向他们提供此类错误页面。