我问一下 koa-jwt 是不是只能验证token,不会生成token, 还是需要jsonwebtoken来生成。 koa-jwt文档里有这句话,英语渣不太懂
sign是生成token的方法,用verify验证
@mikan2000 jsonwebtoken中是这样的,但是如果我引入koa-jwt 然后使用sign就会报错
koa-jwt是koa中间件,看文档
@i5ting 英语有点渣, 看了文档 好像都在写怎么验证token,然后数据会放在ctx.state.user。 所以来问问 生成token是不是还是需要
var jwt = require('jsonwebtoken');
//然后去生成token
jwt.sing()
看他的测试代码就好了
https://github.com/haorui/koa-jwt/blob/master/test.js
it('should throw if getToken function returns invalid jwt', function(done){
var app = koa();
app.use(koajwt({secret: 'shhhhhh', getToken: function(){
var secret = 'bad';
return koajwt.sign({foo: 'bar'}, secret);
}}));
request(app.listen())
.get('/')
.expect(401)
.expect('Invalid token\n')
.end(done);
});
@i5ting ok 非常感谢!
如果说的是 https://github.com/koajs/jwt 这个库的话 的确是只能用来验证。
登陆后生成token需要用const jwt = require(‘jsonwebtoken’); 这个库来生成token
@jinwyp 嗯,已经解决了,不过还是非常感谢你
@xumjs8623 你用的是webstorm吗,这个主题怎么调出来的?
@qujinxiong 我用的vs code,方便调试nodejs 。这个主题好像就是sublime默认主题吧
@xumjs8623 3q,我用的webstorm,里面没有这个主题,你这个主题好看
@qujinxiong webstorm 这里设置,就跟我一样的主题
@xumjs8623 ![2_11Q]@JZZC~}AFJ`F68RWG.png](//static.cnodejs.org/Fn_XTBsTGkwXeAuFOWfwHP-Ee5_o) 我就是用的这个主题,我这是这样
@qujinxiong 差不多的 😁
@xumjs8623 ![K4~IX8A8@V_H{8)5E2P}WV.png 在这改一下关键字字体,就行了,谢了。
jwt库之间就可以啊
楼主怎么整的,生成token还是需要使用jsonwebtoken的库吗
@caiya 我还是用jsonwebtoken来生成token
//jsonwebtoken在服务端生成token返回给客户端
const jwt = require('jsonwebtoken')
const token = jwt.sign({
id: user._id,
secret: user.app_secret
}, config.jwt_secret, {expiresIn: 3600})
ctx.body = {
code: 200,
message: '登录成功!',
token: token
}
@xumjs8623 好的
求问,为什么我jwt.sign()返回给我一个promise,而不是token字符串啊