目前项目的架构是
有一个登录服务,生成 token 写入 redis
然后有几个 web 应用,每个 web 应用都需要调用登录服务登录后,带上 token 调用其他服务
想要改造成 SSO 单点登录,实现网关鉴权+日志等功能
目前我找到的两篇文章有
微服务-API 网关-身份验证
多模块 web 系统登录设计
这种架构中如果认证服务器颁发 ticket 后,是网关来根据 ticket 登录,也就是 SSO Client?
1
xiaoyanbot 2021-09-01 17:58:54 +08:00
正常的 jwt token 不用写入 redis
只有 ban,或者用户主动注销的 jwt token 才写入一个 未过期的 token 禁止列表 |
2
meshell 2021-09-01 18:39:05 +08:00
网关鉴权是不是只能针对 url 鉴权?我现在系统里面如果弄成网关鉴权就只能针对 url 处理,不能根据业务来。
|
3
ccde8259 2021-09-01 19:05:22 +08:00 via iPhone
CAS 的 SSO 优势主要是基于 HTTP 协议完成单点登录,也就是即使你的 Web 应用是 polyglot 的场景也能完成鉴权。
一个简单的实现是,让你的 Web 应用如何成为 SSO Client 。缺陷就是各个 Web 应用这个场景下并不是共享 Session 的,因为 CAS 只负责鉴权。 实现共享 Session 就是让 Gateway 成为 SSO Client,由 Gateway 控制 Session 。 |
4
securityCoding 2021-09-01 19:30:17 +08:00
@meshell 理论上网关都是根据 url path 匹配路由规则 , 每条路由规则可以做各种定制化的配置
|
5
xuanbg 2021-09-01 19:56:42 +08:00
网关已经实现认证 /鉴权了,微服务都在网关后面了,还要什么 token 。
|
7
meshell 2021-09-03 12:22:34 +08:00
@securityCoding 如果是这样的话,等于系统开始设计的时候 url 这些就要想好了。不然网关里面的规则经常改。 我们现在还是在不同的服务里面做鉴权这样就是每个服务都重复了三个文件这些文件有变动就是所有的服务又要 copy 一遍。
|
8
norristong2 2022-01-29 18:45:14 +08:00
- https://cdn.authing.co/authing-docs-v2/1.1.72/assets/img/app-device-logout-6.f739ed29.png
- https://docs.authing.cn/v2/concepts/single-sign-on-and-single-sign-out.html 可以参考这家公司的设计方案,“返回一个授权码 code ,再使用 code 在业务后端换取 Access token ,再用 Access token 获取用户信息。” |
9
favori 79 天前
如果你想绘制 3D 正轴测图软件架构图,可以试试 iCraft Editor, https://icraft.gantcloud.com
iCraft Editor 是一款免费的 3D 架构图绘制工具,采用真实 3D 场景展现架构图、网络拓扑图、其他 3D 结构图,绘制 AWS|GCP|Azure|AliCloud 架构图,将您的 AWS|GCP|Azure|AliCloud 环境可视化为等距架构图, 可旋转视角、嵌套子场景,帮助您轻松绘制出色的 3D 架构图。 欢迎大家试用、提出宝贵意见和建议! |