【发布时间】:2016-01-17 08:36:47
【问题描述】:
我正在尝试使用 NodeJS 验证签名令牌并从中提取信息。
我现在浏览器中有一个叫userToken的token,登录后已经保存(顺便用auth0登录)。
我尝试在此处手动验证我的令牌:http://jwt.io,它可以正常工作并毫无问题地为我提供有效负载数据。但是,我不能用 NodeJS 做同样的事情。我该怎么做?
我阅读了文档,但无法理解。 https://github.com/auth0/express-jwt
这是我的 server.js
var http = require('http');
var express = require('express');
var cors = require('cors');
var app = express();
var jwt = require('express-jwt');
var dotenv = require('dotenv');
dotenv.load();
var authenticate = jwt({
secret: new Buffer(process.env.AUTH0_CLIENT_SECRET, 'base64'),
audience: process.env.AUTH0_CLIENT_ID
});
// view engine setup
var path = require('path');
app.set('views', path.join(__dirname, 'views'));
app.use(express.static(path.join(__dirname, 'public')));
app.set('view engine', 'jade');
app.configure(function () {
// Request body parsing middleware should be above methodOverride
app.use(express.bodyParser());
app.use(express.urlencoded());
app.use(express.json());
app.use(cors());
app.use(app.router);
});
app.get('/', function (req, res) {
res.render('index');
});
app.get('/test', function(req,res) {
// how do I check it?
});
var port = process.env.PORT || 3001;
http.createServer(app).listen(port, function (err) {
console.log('listening in http://localhost:' + port);
});
【问题讨论】:
-
Node 告诉你
jwt没有verify函数,实际上它看起来没有。 -
看起来 express-jwt 和 jsonwebtokens 之间存在联系,我正试图弄清楚这一点。 github.com/auth0/node-jsonwebtoken
-
是的,
jsonwebtoken为express-jwt创建(或签名)令牌以进行处理
标签: javascript node.js auth0