Egg项目初始化
$ mkdir egg-example && cd egg-example
$ npm init egg --type=simple
$ npm i
启动项目
$ npm run dev
$ open http://localhost:7001
提交表单
获取post请求的参数:this.ctx.request.body
获取url中?page=参数: this.ctx.query.page
CSRF指跨站请求伪造,Egg中对Post请求做了一些安全验证,可以在 config.default.js文文件中,通过下面的设置验证。
config.default.js
config.security = {
csrf: {
enable: false
}
};
跨域插件
Egg-cors
-
npm install --save egg-cors -
在plugin.js文件中引入插件
plugin.js
cors: { enable: true, package: 'egg-cors', } -
在 config.default.js 文件中配置 egg-cors 插件
config.default.js
config.cors = { origin: "*", allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH' };
token插件
-
安装egg-jwt插件:
npm install --save egg-jwt -
在plugin.js中引入插件
jwt: { enable: true, package: "egg-jwt" } -
sl配置 config.default.js 文件, 设置 secret ;注意,secret不能泄露
config.jwt = { secret: "roc", // 生成token所需的密钥 expiresIn: '12h' // 过期时间 }; -
生成Token
const jwt = require('jsonwebtoken'); // 映入jwt const token = jwt.sign({账号,密码}, 'keys') // 第一个参数是一个对象可以是账号密码,第二个参数填配置的密钥 -
解密token
const jwt = require('jsonwebtoken');
jwt.verify(token,'keys') // 第一个参数填token,第二个参数填配置的密钥