想要自己做一个完整的系统,包含鉴权这方面的,去用 springboot 整合 oauth2.0 的时候,网上一查都是朝来抄去的代码,目前没有找到体系完整的一个项目。
在这过程中还涉及到了 Spring 的一些版本冲突问题,有的功能在 2.7 之后,但是对 oauth2.0 的支持在 2.7 之后就没有能参考的案例了,搞来搞去都搞不好,查来查去都是解释概念和不实用的代码。
求助各位大佬,有一份完整的项目代码,或者教教我这套逻辑的具体流程。

官文文档链接的 github 的 sample 那个还挺全的,配合文档一起看。 github.com/spring-projects/spring-security-samples#readme

好的,感谢老哥,我去看看

hesudu.com/t/796071#reply53我之前整合过,最终放弃了

太难了,还想要加上整个鉴权,我还是在摸索摸索。

Spring Security 确实绕,不过感觉他设计的还可以,自己有自定义需求的话一般总能找到扩展的方式,就是得撸文档、撸源码

主要是和 OAuth2.0 的整合,springsecurity 的自定义倒是啃下来了

个人建议不要直接使用 spring security oauth2 。我现在这个项目,创建的时候,正好是 security-oauth2 大升级的时候, 依赖版本异常混乱。再加上业务上的不正常需求,导致了很多麻烦。现在项目中还在用 security oauth2 ,但是不用它的流程,只用它的功能,流程我自己控制。security-oauth2 对微服务的支持不全,得自己写。索性我全自己搞了。

推荐一个优质的 spring/boot/data/security/cloud 的中文文档,无广告,无须登录,无须关注,在线读。 springdoc.cn/docs/

security-oauth2 的实现是很不错的。自己手写质量肯定远远不如人家。所以我现在禁用了自动装配,自己写 filter ,需要用到 security-oauth2 的功能,就直接拿过来用,比如:oAuth2FeignRequestInterceptor OAuth2RestTemplate AccessTokenProvider

为什么 spring 的官方文档这么难看懂...hhhh 可能是我太菜了

还是看官方例子+ 源码吧, security 这个框架和一般的框架不一样. 一般的框架你只需要知道如何用就可以了,security 这一套如果不懂设计思路和源代码,根本就不知道如何用和定制化.网上的代码大部分都是过时/错误的.就连最基本的整合 jwt,网上大部分还是让你搞 userService 而非直接集成 resource server.

其实 spring 的文档还是写的算可以的了

是的,我去年就是这个情况,然后我被迫放弃了,真的很混乱

好的,我去瞅瞅

没实现过 spring securiy + OAuth2 的话,推荐看慕课网 jojo 老师的课程:《 Spring Security+OAuth2 精讲,打造企业级认证与授权》。这个课程跟着做两三遍差不多就能理解流程了,但是好像不是最新的 spring security + OAuth2 ,那么这个时候还有时间的话,你可以看官方文档了。Spring Security 6 + Spring Authorization Server 1.1.2 就是当前时间节点的最佳实践了。跟着官方文档,对照流程过亿遍。其实自己练习的话还是要按照真实的 RBAC 来设计的,这个是难点,可能在你懂得 security 流程之后,要好好整理的一个点。后期设计的时候尽量按真实的来,会更有意义,最好能前端后端一起来。

需要整体使用的时候就比较混乱了,太痛苦了

多看就懂了,大家都一样

是的,网上的例子大部分是错的,security 这块我倒是整好了,就是和 oauth2.0 一起用有点难受

好,我多去了解一下

我以前也研究过一段时间,其实搞清楚 oauth2 的原理后可以不要纠结用 spring security 上全家桶,实际项目要做一些定制的开发,搞清他的 api 要花很长时间,推荐可以用一下 Apache Oltu ,更加轻量和简单