【发布时间】:2018-11-01 20:09:33
【问题描述】:
我正在尝试通过解码和验证我的 JWT 来验证它。但是我遇到了这个问题,不知道该去哪里。我正在使用 Node/Express
错误:错误:0906D06C:PEM 例程:PEM_read_bio:没有起始行
我在做什么 - 在每个请求中发送一个令牌以确保它是正确的令牌,一旦发生请求就可以发生。我将它用作中间件。
app.js
const express = require('express')
const bodyParser = require('body-parser')
const path = require('path')
const cors = require('cors')
const compression = require('compression')
const helmet = require('helmet')
const expressSanitizer = require('express-sanitizer')
const jwt = require('jwt-simple');
const index = require('./routes/index')
const responseTime = require('response-time')
const fs = require('fs')
const jwtToken = require('express-jwt');
const options = {
key: fs.readFileSync('./key.pem', 'utf8'),
cert: fs.readFileSync('./server.crt', 'utf8')
};
const app = express()
// const app = express.createServer()
const port = 3000
//add authorization request header
app.use((req, res, next) => {
if(!req.headers.authorization){
return res.status(403).json({ error: 'No credentials sent!'});
}
try {
let token = req.headers.authorization.split(' ')[1]
var decoded = jwt.decode(token, 'your secret here');
console.log(decoded, 'decoded!!!!')
} catch (err) {
console.log('err ', err.stack);
return res.status(403).json({
error: 'invalid token'
});
}
next();
})
app.use('/', index)
app.listen(port, () => {
console.log('server started on port 3000')
})
下面的评论指的是意外重复,因为 SO 存储了我的问题。
【问题讨论】:
-
刚刚删除了另一个。出于某种原因,它存储了我的问题并复制了它。对此感到抱歉。
标签: node.js express authentication authorization jwt