一句话概括SSO和OAuth2.0

sso:N个系统用户通过用户姓名或其他标识都能一一对应(绑定关系),登录其中一个系统(IdP),其他的N-1个系统都能通过请求IdP的授权接口(一般通过非对称加密方式)生成对应的URL(携带用户标识)直接进入;
举个例子:简道云sso单点登录、apache cas认证中心;

 

 

oauth2.0:两个系统,用户可以是各自没有任何关系的(虽然一般情况下都是同一个人的账号),通过oauth认证返回token令牌实现A系统通过B系统用户的身份来请求B系统资源,实现了用户之间的绑定关系;
举个例子:抖音选择微信账号登录(为什么常常觉得oauth2.0像单点登录就是这个场景特别像,如果微信账号没有登录,需要先登录微信,其实是请求的微信账号资源)

移步 https://www.cnblogs.com/xuetieqi/p/13869947.html

 

 

2023-03-02补充SSO的两个例子

【企微文档】规则引擎、报表服务部署及单点登陆配置
https://doc.weixin.qq.com/doc/w3_AGgASQaZAFYyAAKnv50SXqTFQUpc6?scode=AOoAYgfwAAopIA1MYTAGgASQaZAFY

 

规则引擎、报表服务部署及单点登陆配置

 

urule、睿思bi都没有真正意义上开发单点登陆功能,通过接口配置的方式来获取我方用户信息并完成注册登陆跳转。需要我们实现扩展接口或直接在源码中操作实现完成用户注册。

 

1.  规则引擎-开放用户扩展接口

1.1 单点登陆逻辑图

1.2 一些说明

urule需要接入凤翎nacos微服务体系,刚好可以衔接gateway在请求header存储的用户信息,以此来完成单点登陆的验证工作,如遇无法满足上述条件的,可以在平台内将用户信息装包加密的方式传递给urule,让urle完成用户的注册。

当前urule以jar包方式docker部署,配置信息由nacos管理

2.  在线报表-源码物理插入用户表

1.1 单点登陆逻辑图

1.2 一些说明

睿思bi-os后端服务需要接入凤翎nacos微服务体系,刚好可以衔接gateway在请求header存储的用户信息,以此来完成单点登陆的验证工作,如遇无法满足上述条件的,可以在平台内将用户信息装包加密的方式传递给睿思bi-os,让其完成用户的注册。

由于该项目引用的libs/ext3-1.5.jar访问根目录下的public/ext2/ext-config/ext-config.xml文件只能使用war包部署,为了使用与jar包无异,通过dockerFile修改tomcat端口为16002,并把war包名称改成ROOT.war来取消请求路径的项目前缀。其余配置信息依然由nacos管理。

顺便解决springboot war包部署无法注册nacos的问题。

 

posted @ 2022-05-07 16:23  大背头  阅读(198)  评论(0编辑  收藏  举报