oath2 登录,我先知道怎么获取当前的ClientId

来源:9-4 总结和回顾

慕斯卡2532047

2021-07-19

老师,您好:
是这样,我现有公司的系统需要改造,这个系统涉及到3个不同角色的端,每个端都有自己的用户数据库,由于历史原因,各自端的用户登录都是走的各自系统。由于业务发展,现在的模式已经限制了业务发展,最近想把登录系统统一化,但是是一步步实施的,各自系统的用户库保持不变,使用spring security oauth登录来实现统一用户登录和授权。然后现在我面临一个问题就是怎么在调用 UserDetailsService.loadUserByUsername 方法的时候知道这个用户来自哪个ClientId,根据此我好去不同的数据库读取用户信息。我调试了一下发现UserDetailsService.loadUserByUsername 是在 ClientDetailsService.loadClientByClientId 前面执行的。【不过我发现session中保存了sessionAttr:SPRING_SECURITY_SAVED_REQUEST,但是我调试的时候并不能获取到,在session中也没有此key。很奇怪,我是把sesion存储到redis里而看到此key的。】

写回答

1回答

接灰的电子产品

2021-07-21

oauth 的标准流程是先进行用户鉴权,然后才是oauth 授权,你的情况应该考虑在用户登录阶段区分

0
2
接灰的电子产品
回复
慕斯卡2532047
可以的,在url上做点文章没有问题
2021-07-25
共2条回复

Spring Security+OAuth2 精讲,打造企业级认证与授权

一站式掌握主流安全框架与行业解决方案,从容应对各种安全难题。

1061 学习 · 316 问题

查看课程