微服务的两套认证:
1.身份认证在zuul加filter拦截获取请求user token,校验user token合法性
2.服务认证为内部服务之间通过server token来校验服务调用的合法性
整个流程的大概逻辑:
1.启动认证服务(auth-server),此时会生成user的公钥私钥和服务server的公钥私钥
2.启动其他服务,启动后请求认证服务(auth-server)拿到对应的2套公钥,用于对2种token做解密认证用
整个调用请求通过zuul filter时校验token,zuul会通过启动时拿到的公钥对token认证,通过校验后可以在调用权限管理服务(permission-server)查询当前用户是否有访问此url的权限,在访问permission-server时先请求auth-server获取zuul 的server token,带上server token和user token去请求permission-server,在permission-server里的拦截器会对user token和server token做校验(也是启动的时候拿到那2个公钥),调用其他服务都是这个逻辑,整体大概就是这种调用
用户登录校验生成token的流程,认证服务私钥加密user token和server token
服务启动获取pub key
server token的校验通过server token拿到server信息
整体大概布局