总流程

1)用户访问 http://localhost:8001/api/oauth/toLogin
先过网关,网关相当于门卫。网关看你的uri,/api/oauth/toLogin,直接放行。去登录界面。

2)登录界面,是认证中心的一部分,这里用oauth搭建认证中心。
用户输入用户名、密码,点击登录,激活后端的login方法,生成jti和jwt,分别作为key和value放进Redis。
再把jti放进cookie。

3)用户访问 http://localhost:8001/api/cart/list
再过网关,网关看你的uri,这里是/api/cart/list,不是登录地址。就从cookie里取jti,再通过jti去redis里取jwt。

…………4)取到就自动帮你把jwt装配到header里面,带去访问真正的微服务
……………………5)真正的微服务通过验证你的jwt,鉴别你的权限,没问题就让你访问
…………6)取不到就转到登录界面

图示

第一次访问

第二次访问

最后

关于怎么验证jwt,涉及到加密解密,这里不展开叙述。

单点登录解决方案--网关、认证、鉴权相关推荐

  1. 认证鉴权对于 API 网关的重要性

    认证鉴权作为 API 网关不可或缺的能力,已然成为用户在选型 API 网关时考量的重要因素之一. 作者钱勇,API7.ai 开发工程师,Apache APISIX Committer 在当下云原生越发 ...

  2. 微服务认证鉴权-API网关

    认证:验证这个用户是谁 鉴权:用户有哪些资源权限(页面.按钮.超链接.接口.接口字段) 授权:为用户添加资源权限 方案:客户端Token(JWT) 流程: 1.用户登录发起认证请求,认证服务执行认证流 ...

  3. 深入浅出用户认证鉴权---使用非对称加密算法加密登录

    深入浅出用户认证鉴权 使用非对称加密算法加密登录 面临的问题 明文密码登录 MD5/BASE64 加密登录 解决方案 对称加密与非对称加密 对称加密 非对称加密 在登录过程中的使用 使用非对称加密算法 ...

  4. Spring Cloud Gateway实现网关统一鉴权,网关统一Token认证

    需求背景 在微服务的场景下,采用了Spring Cloud Oauth2进行token的管理,实现认证和授权,在这下背景下,有两种解决方案: 网关统一鉴权 此模式适用于网关下的所有模式都是通过一种模式 ...

  5. 【Blog.Core开源】网关自定义认证鉴权与传参

    书接上文,上回咱们说到了<[Blog.Core开源]网关统一集成下游服务文档>,已经将多个下游服务统一集成到了网关里,并且也把接口文档Swagger给集成了,那今天就说一下认证和鉴权相关的 ...

  6. .Net Core使用Ocelot网关(二) -鉴权认证

    前言 上一章.Net Core使用Ocelot网关(一) -负载,限流,熔断,Header转换 已经简单的介绍了ocelot的使用了,但是网关暴露的接口如果什么人都能访问的话安全性就太低啦.所以我们需 ...

  7. 单点登录、统一认证解决方案(一)

    单点登录.统一认证解决方案(一) 随着数字化的不断普及,大型公式或者单位的各个部门逐渐的上了与本身业务相关的各种各样的系统(在这些系统中,以 Web 系统居多),几乎每个系统都需要识别操作者的身份,并 ...

  8. 认证鉴权与API权限控制在微服务架构中的设计与实现

    引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现. 1. 背景 最近在做权限相关服务的开发, ...

  9. 认证鉴权与API权限控制在微服务架构中的设计与实现(一)

    作者: [Aoho's Blog] 引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现. 1. ...

最新文章

  1. 谷歌的深度学习在AI芯片中找到了一条关键路径
  2. Swift之extension的使用
  3. 三维重建16:概率图模型 模板类编程
  4. docker 绑定宿主_将WildFly绑定到其他IP地址或多宿主上的所有地址
  5. 问题 1074: 数字整除
  6. Linux内核crypto子系统的调用逻辑
  7. android白色字体代码,Android实现状态栏白底黑字效果示例代码
  8. matlab怎么写集合,matlab集合操作
  9. php数组里面写路径,使用路径在PHP数组中进行递归搜索
  10. 一句话证明你是产品经理
  11. 【非公开】机顶盒相关
  12. linux多线程学习(三)——线程属性设置
  13. PHP中获取html页面传值
  14. 几款web富文本编辑器汇总整理
  15. 运筹学牛顿法c语言源代码,运筹学与MATlab编程.doc
  16. 鸡啄米:C++编程入门系列之目录和总结(再学习路标,大牛见解深刻,真正容易入门)
  17. 患上糖尿病,为什么要做OCT眼底照相检查?
  18. 选择合适的垃圾收集器
  19. 服务器丢包的原因及解决方法
  20. pdf转换成excel,pdf转excel方法

热门文章

  1. C语言——3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。
  2. 怎样取消连续包月自动续费_手机爱奇艺会员怎么取消自动续费 VIP关闭解除自动续费方法...
  3. [ZT]理光R1V夜景拍摄技巧
  4. Oracle魔改linux,【更新】一键网络重装系统 - 魔改版(适用于Linux / Windows)
  5. oracle表空间权限赋予,oracle创建表空间以及给用户授予权限
  6. Google服务清单/Google软件大全 转自某网页
  7. 35java游戏_Java 7.35 游戏:猜字游戏(C++Java)
  8. MongoDB删除表中数据
  9. linux恢复移动硬盘数据恢复,移动硬盘数据恢复注意事项
  10. 《惢客创业日记》2020.09.13(周日)重新把健康捡起来