From aba68ab227dbd2ff616e9bff77b6b9839cfb3c74 Mon Sep 17 00:00:00 2001 From: yutent Date: Wed, 30 Aug 2023 14:54:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Jwt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jwt.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Jwt.md diff --git a/Jwt.md b/Jwt.md new file mode 100644 index 0000000..0884a52 --- /dev/null +++ b/Jwt.md @@ -0,0 +1,40 @@ +## Json Web Token + +> JWT的作用, 跟Session类似。区别是JWT对cookie没有依赖, 对跨域操作, 多域名项目更有优势。 +>> JWT的数据,是明文(仅仅做了base64转码)存于token中的, 所以请勿在JWT中储存敏感数据。这些敏感数据, 请使用redis, memcache等储存。 + + +## 使用 + +这里先看一下默认的配置: + +```js +jwt: { + // jwt 开关 + enabled: false, + ttl: 3600 * 24 * 7, + level: 0, // 校验级别, 0: 不校验客户端, 2: ua, 4: ip, 6: ua + ip + secret: 'it_is_secret_key' // jwt密钥, 使用时请修改 +} +``` + ++ enabled `` 这个没啥可说的了, 就是一开关。 ++ ttl `` 有效期, 单位秒, 默认7天, 客户端一直有请求时, 会实时更新有效期。 ++ level `` 安全校验等级, 默认不校验, 即只要拿到ssid, 无论是谁请求都是合法的; 可根据业务需要, 设置相应的安全校验, 如, useragent、 ip。 ++ secret `` JWT的加密密钥, 正式使用时, 必须设为私有的密钥, 且不要外泄, 否则token就有可能被伪造。 + + +框架默认已经安装了会话拓展包, 但是并未启用; 且在[控制器基类](https://github.com/bytedo/gmf.core/wiki/Controller)中封装了一个操作jwt的方法, 一般情况下, 只需要关心那个方法的使用即可。 + + +如果有兴趣jwt封装实现的, 可以继续往下看。 + + +未完待续... + + +---- + +上一节: [⟪会话Session⟫](https://github.com/bytedo/gmf.core/wiki/Session) + +下一节: [⟪进阶⟫](https://github.com/bytedo/gmf.core/wiki/Advanced) \ No newline at end of file