NodeJS Google OAuth2 Cookies

时间:2015-11-24 05:44:57

标签: node.js request nodemailer

我最终尝试在nodemailer中使用refresh_token,但在尝试登录以授权应用程序时遇到有关cookie的问题。

根据请求将我发送到Google登录页面,我可以成功登录,但是,登录后,Google会抱怨我的浏览器已禁用Cookie,但显然情况并非如此。我有一种感觉它与我的请求电话有关,但对我来说似乎是对的。

有什么想法吗? 提前谢谢。

var request = require('request').defaults({jar: true});

router.get('/oauth', function(req, res){

    var gEndpoint = 'https://accounts.google.com/o/oauth2/auth';
    var gRedirectUri = 'http://localhost:3000/';
    var gResponseType = 'code';
    var gClientId = process.env.gmailClientId;
    var gScope = 'https://mail.google.com/';
    var gApprovalPrompt = 'force';
    var gAccessType = 'offline';

    var fullUrl = gEndpoint + '?' +
        'redirect_uri=' +  encodeURIComponent(gRedirectUri) + 
        '&response_type=' + encodeURIComponent(gResponseType) + 
        '&client_id=' + encodeURIComponent(gClientId) + 
        '&scope=' + encodeURIComponent(gScope) + 
        '&approval_prompt=' + encodeURIComponent(gApprovalPrompt) + 
        '&gAccessType=' + encodeURIComponent(gAccessType)

    request(gEndpoint, function(){
        request.get({ url: fullUrl }, function(err, response, body){
            res.send(body);
        })
    })


})

enter image description here

编辑:结束使用谷歌的支持OAuth2的apis库。 https://github.com/google/google-api-nodejs-client/

仍然好奇为什么这不起作用......

0 个答案:

没有答案