1.0.2 • Published 5 years ago
@fruitwisdom/egg-passport-jwt v1.0.2
egg-passport-jwt
简单的对 passport-jwt 进行了封装。 直接就可以使用。 这只是一个策略,使用还需依赖 egg-passport
需要注意
- 生成 token 需要用 jsonwebtoken 包。 且 key 用 系统 config 里面的默认 key。
- 默认 egg 有 csrf 安全。 所以要在 插件里过滤 或者关掉。
- 默认验证 需要置空 successReturnToOrRedirect:null 否则返回 404.
Install
$ npm i @fruitwisdom/egg-passport-jwt --save
Usage
// {app_root}/config/plugin.js
exports.passportJwt = {
enable: true,
package: '@fruitwisdom/egg-passport-jwt',
};
Example
const jsonwebtoken = require('jsonwebtoken')
...
router.get('/api/login', async (ctx) => {
const token = jsonwebtoken.sign({
name: "jwt",
},
app.config.keys,
{ expiresIn: '24h'}
);
ctx.body = `bearer ${token}`
})
const jwt = app.passport.authenticate('jwt', {session:false, successReturnToOrRedirect:null});
router.get('/api', jwt, controller.home.admin);
...
Questions & Suggestions
Please open an issue here.