想要自己做一个完整的系统,包含鉴权这方面的,去用 springboot 整合 oauth2.0 的时候,网上一查都是朝来抄去的代码,目前没有找到体系完整的一个项目。 在这过程中还涉及到了 Spring 的一些版本冲突问题,有的功能在 2.7 之后,但是对 oauth2.0 的支持在 2.7 之后就没有能参考的案例了,搞来搞去都搞不好,查来查去都是解释概念和不实用的代码。 求助各位大佬,有一份完整的项目代码,或者教教我这套逻辑的具体流程。
1
mmdsun 2023-09-28 16:48:11 +08:00
官文文档链接的 github 的 sample 那个还挺全的,配合文档一起看。
https://github.com/spring-projects/spring-security-samples#readme |
3
totoro52 2023-09-28 17:02:48 +08:00
https://v2ex.com/t/796071#reply53
我之前整合过,最终放弃了 |
5
Jrue0011 2023-09-28 17:15:12 +08:00
Spring Security 确实绕,不过感觉他设计的还可以,自己有自定义需求的话一般总能找到扩展的方式,就是得撸文档、撸源码
|
7
cp19890714 2023-09-28 17:44:18 +08:00
个人建议不要直接使用 spring security oauth2 。
我现在这个项目,创建的时候,正好是 security-oauth2 大升级的时候, 依赖版本异常混乱。再加上业务上的不正常需求,导致了很多麻烦。 现在项目中还在用 security oauth2 ,但是不用它的流程,只用它的功能,流程我自己控制。 security-oauth2 对微服务的支持不全,得自己写。索性我全自己搞了。 |
8
KevinBlandy 2023-09-28 17:47:02 +08:00
推荐一个优质的 spring/boot/data/security/cloud 的中文文档,无广告,无须登录,无须关注,在线读。https://springdoc.cn/docs/
|
9
cp19890714 2023-09-28 17:49:47 +08:00
security-oauth2 的实现是很不错的。自己手写质量肯定远远不如人家。
所以我现在禁用了自动装配,自己写 filter ,需要用到 security-oauth2 的功能,就直接拿过来用,比如:oAuth2FeignRequestInterceptor OAuth2RestTemplate AccessTokenProvider |
10
likeme 2023-09-28 17:52:21 +08:00
为什么 spring 的官方文档这么难看懂...hhhh 可能是我太菜了
|
11
123zouwen 2023-09-28 17:52:30 +08:00
还是看官方例子+ 源码吧, security 这个框架和一般的框架不一样. 一般的框架你只需要知道如何用就可以了,
security 这一套如果不懂设计思路和源代码,根本就不知道如何用和定制化. 网上的代码大部分都是过时/错误的.就连最基本的整合 jwt,网上大部分还是让你搞 userService 而非直接集成 resource server. |
12
cookii 2023-09-28 18:00:03 +08:00 via Android
其实 spring 的文档还是写的算可以的了
|
13
sakurawzt OP @cp19890714 是的,我去年就是这个情况,然后我被迫放弃了,真的很混乱
|
14
sakurawzt OP @KevinBlandy 好的,我去瞅瞅
|
15
qqlyatt 2023-09-28 18:25:08 +08:00
没实现过 spring securiy + OAuth2 的话,推荐看慕课网 jojo 老师的课程:《 Spring Security+OAuth2 精讲,打造企业级认证与授权》。这个课程跟着做两三遍差不多就能理解流程了,但是好像不是最新的 spring security + OAuth2 ,那么这个时候还有时间的话,你可以看官方文档了。Spring Security 6 + Spring Authorization Server 1.1.2 就是当前时间节点的最佳实践了。跟着官方文档,对照流程过亿遍。其实自己练习的话还是要按照真实的 RBAC 来设计的,这个是难点,可能在你懂得 security 流程之后,要好好整理的一个点。后期设计的时候尽量按真实的来,会更有意义,最好能前端后端一起来。
|
16
sakurawzt OP @cp19890714 需要整体使用的时候就比较混乱了,太痛苦了
|
18
sakurawzt OP @123zouwen 是的,网上的例子大部分是错的,security 这块我倒是整好了,就是和 oauth2.0 一起用有点难受
|
20
dengji85 2023-09-29 15:33:13 +08:00
我以前也研究过一段时间,其实搞清楚 oauth2 的原理后可以不要纠结用 spring security 上全家桶,实际项目要做一些定制的开发,搞清他的 api 要花很长时间,推荐可以用一下 Apache Oltu ,更加轻量和简单
|
22
wjg10086 2023-10-07 10:55:19 +08:00
sa-token 怎么用,建议用吗
|