SpringBoot+SpringSecurity OAuth2 认证服务搭建实战 (一)

OAuth协议

随着互联网的流行,对于提高网民的上网提验,是大厂比较关心的问题。而OAuth协议就是为此而生的。

OAuth协议经过了1.0时代,现在处于2.0时代。确切的说OAuth协议现在是2.1版本。

OAuth2.1相较于OAuth2.0在安全方面和易用方面提高了不少。主要思想是差不多的。但OAuth2和OAuth1是不兼容的。应该说OAuth1.0版本已经被废弃掉了。

早期的Spring团队在Spring Security框架中加入了OAuth2.0模块,但现在已经不在维护了。我之前的公司竟然还有人在用他们快照版。如果没有Spring Security,对于一个java开发人员,再找一个好用+牛逼+安心+oauth2的安全框架,还真有点难。

好消息就是Spring推出了Spring Authorization Server(授权服务),它与Spring Security是两个安全项目。Spring Security相当于一个安全框架思想,有完整的“认证”和“授权”框架思路。Spring Authorization Server(授权服务)要基于Spring Security之上使用。

Spring Authorization Server

可以看到Spring Authorization Server是一个比较新的项目。

 Spring Authorization Server提供OAuth2.1和OpenID Connect 1.0 规范 和 其它相关的安全规范。是一个轻量级框架,开发人员可以在框架中做自己的定义化功能。

最新版本的Spring Boot 已经做了版本匹配。作者当前用的SpringBoot是3.3.0的,算是比较新的版本,在这个版本的依赖列表中,Spring Authorization Server的版本是1.3.0

好了,费话不多说。

OAuth服务

一般搭建分两个服务:认证服务,授权服务

认证服务主要用于给资源服务器用,当有客户端请求资源时,认证服务会进行认证客户端是否有资格获取资源。

授权服务主要用于给客户端授权,只有先获取权限才能请求资源,通俗点讲就是让你登录,给你发token

第一步先搭建授权服务器

配置:Maven,SpringBoot3.3.0,Spring-Security-oauth2-authorization-server 1.3.0(这个在pom中是用starter代替掉了),最后是JDK17,当然jdk版本不是必须的,其它版本也是可以的,只要别太低。

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactI
  • 40
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觉自性本然

您的鼓励与支持是我最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值