javascript - 无法登录,类型错误 : Cannot read property 'id' of null

标签 javascript node.js

我遇到以下错误,登录失败,并出现 TypeError: Cannot read property 'id' of null ,如何调试并修复此错误?

var cas = require('cas-client');
get_forward_url(function(forwardurl){
    console.log('(get_forward_url) forwardurl = ' + forwardurl)
    app.get('/login', cas.getMiddleware('https://cas.apple.com',forwardurl), function(request,response){
        //console.log('--- printing env...')
        //console.log(process.env)
        console.log("######### app.get('/login') #########")
        console.log("/login request.session.url = " + request.session.url)
        console.log("/login request.param('ticket') = " +  request.param('ticket'))
        console.log("/login request.session = " +  request.session)
        console.log("/login request.session = " +  JSON.stringify(request.session))
        console.log('/login request.session.authenticatedUser.id = ' + request.session.authenticatedUser.id)
        console.log('/login request.url = ' + request.url)
        console.log('/login request.headers = ' + JSON.stringify(request.headers))
        request.session.ticket = request.param('ticket');
        request.session.user = request.session.authenticatedUser.id
        console.log('/login request.session = ' + JSON.stringify(request.session))
        console.log('/login request.headers.referer ' + request.headers.referer)
        response.redirect('/wifi_build_audit')

        // if (request.session.authenticatedUser.id == null || request.session.authenticatedUser.id == undefined || !request.session.authenticatedUser.hasOwnProperty('id') || request.session.ticket == undefined){
        //  response.sendfile('./public/partials/login_failure.html');
        // }
        // else if(request.session.url == undefined){
        //  console.log('/login session url is undefined...sending to home')
        //  response.redirect('/')
        // }
        // else{
        //  console.log('/login else')
        //  response.redirect(request.session.url);
        // }
    });

    require('./app/routes.js')(app);

    // listen (start app with node server.js) ======================================
    app.listen(port);
    console.log("App listening on port " + port);
});

错误:

######### app.get('/login') #########
/login request.session.url = undefined
/login request.param('ticket') = ST-1543605073r414D1C27F6924DB5AD
/login request.session = [object Object]
/login request.session = {"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"authenticatedUser":null}
TypeError: Cannot read property 'id' of null
    at /Users/kchawla/wifi-firmware-web/server.js:56:99
    at callbacks (/Users/kchawla/wifi-firmware-web/node_modules/express/lib/router/index.js:164:37)
    at /Users/kchawla/wifi-firmware-web/node_modules/cas-client/lib/index.js:93:9
    at ClientRequest.<anonymous> (/Users/kchawla/wifi-firmware-web/node_modules/cas-client/lib/index.js:66:14)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:309:9)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at emitErrorNT (net.js:1277:8)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)

最佳答案

这是因为您获得的authentiatedUser 为空值。登录 URL 无效,或用户未通过身份验证。

关于javascript - 无法登录,类型错误 : Cannot read property 'id' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53563722/

相关文章:

javascript - 有没有办法在 TypeScript 2+ 中全局添加类型定义?

javascript - 将图像与 GIF 合并 - FFMPEG

javascript - 重命名 node.js Sequelize 时间戳列

javascript - Nodejs 后端与 VueJS 前端通信

javascript - Webpack 突然崩溃了

javascript - 向特定跨度显示错误的问题

Javascript:当 o1 有值并且等于 b1 时,为什么 b1 被视为未定义

javascript - Javascript中构造对象的两种方式

node.js - axios 获取 res.data = null

javascript - 在数组中获取高于平均值的值 - JS