SpringBoot 和 OAuth2.0(整合失败/鉴权失败)
想要自己做一个完整的系统,包含鉴权这方面的,去用 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 ,更加轻量和简单
根本跑不起来吧 参考 java, 本质上就是一优化过的 java Asp.net 不支持 aot 也不能裁剪 hello world 就得几百兆。 你这个需求用 go …
Learn Python The Hard Way (pdf) Learn Python The Hard Way Programming Windows Phone 7 …
第一次来到程序员版块,我自愧不如,但希望大家给予鼓励~谢谢大家! 我其实是一个品牌空间设计师,因为小时候开始就一直用 Mac ,很喜欢 Mac ,甚至我除了电脑课就没怎么用过 …