首页 > 解决方案 > Morgan Logging - 是否可以从请求标头记录用户名?如何?

问题描述

app.use(morgan(function (tokens, req, res) {
console.log(req)
try {
    let logData = {
        morganLogStream: [
            tokens['date'](req, res),
            ' Type-', tokens.method(req, res, 'Type'),
            ' Url-', tokens.url(req, res).split('?')[0],
            ' Status-', tokens.status(req, res),
            ' Content_Length-', tokens.res(req, res, 'content-length'),
            ' Response_Time-', tokens['response-time'](req, res), 'ms',
        ].join('')
    }

}))

我正在使用带有 kerberos 的基本身份验证。我可以看到授权标头,但无法获取值。

标签: node.jsmorgan

解决方案


我能做的最好的就是:

new Buffer(req.headers.authorization.split(' ')[1], 'base64').toString('ascii').split(':')[0] : ''

返回用户名。我希望 thr 是摩根图书馆的任何直接选择。


推荐阅读