一 网关鉴权
1 问题
当我们在未登录状态下点击“购买课程”按钮时,会显示“未知错误”,查看trade微服务控制台,发现,JWT为空,无法鉴权。
2 解决方案
微服务网关中添加自定义全局过滤器,统一处理需要鉴权的服务。
3 鉴权逻辑描述
-
当客户端第一次请求服务时,服务端对用户进行信息认证(登录)
-
认证通过,将用户信息进行加密形成token,返回给客户端
-
作为登录凭证以后每次请求,客户端都携带认证的token
-
服务端对token进行解密,判断是否有效
对于验证用户是否已经登录鉴权的过程可以在网关统一检验。检验的标准就是请求中是否携带token凭证以及token的正确性。
下面的我们自定义一个GlobalFilter,去校验所有的请求参数中是否包含“token”,如何不包含请求
参数“token”则不转发路由,否则执行正常的逻辑。
二 开发鉴权逻辑
1 网关中添加依赖
<dependencies>
<!-- 网关 -->
<dep