目录
5. 整合JWT
5.1 生成Token
5.2 携带Token
5.2.1 保存token
5.2.2 携带token
5.3 校验Token
5.4 获得Token
5. 整合JWT
5.1 生成Token
- 用户登录成功后,通过工具类,将用户信息转换成token
- 步骤:
- 拷贝工具类,及其Properties类
- yml配置
- 登录生成token
- 拷贝工具类,及其Properties类
- 注意:Swagger处理标准请求头,不再是X-Token
- yml配置
- 登录生成token
5.2 携带Token
5.2.1 保存token
- 用户登录成功后,将token保存浏览器
- 通过浏览器查看保存的数据
5.2.2 携带token
- 对axios进行增强,需要每次都写到token
- 步骤:
- 编写nuxt的插件
- 注册插件
- 编写nuxt的插件
- //https://axios.nuxtjs.org/helpers
- //https://axios.nuxtjs.org/extend export default function ({ $axios, redirect }) { $axios.onRequest(config => { // 从 localStorage 获得token,并添加到头 let token = localStorage.getItem('token') if(token) { //Adds header: `Authorization: 123` to all requests $axios.setToken(token) } }) $axios.onError(error => { const code = parseInt(error.response && error.response.status) if (code === 400) { redirect('/400') } }) }
- 注册插件
- { src: '~/plugins/axios.js', mode: 'client' }
- 测试:每次请求都携带token
5.3 校验Token
- 在Gateway编写过滤器,注意:处理的请求头名字为
Authorization
5.4 获得Token
TbUser tbUser = JwtUtils.getObjectFromToken(token, jwtProperties.getPublicKey() , TbUser.class);