OAuth2.0
OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。客户端来申请资源,资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。也就是说,OAuth 的核心就是向第三方应用颁发令牌。而且,OAuth 2.0 规定了四种获得令牌的流程。你可以选择最适合自己的那一种,向第三方应用颁发令牌。
具体的OAuth学习建议仔细研读阮一峰的教程,
http://www.ruanyifeng.com/blog/2019/04/oauth_design.html
下面我们来使用spring cloud security 和 spring cloud oauth2两个组件来简单实现授权流程。
授权服务
下面我们来使用spring cloud security 实现一个授权服务,首先来引入依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
</dependencies>
除了一个web组件,只引入了一个spring-cloud-starter-oauth2,这是因为spring cloud下的oauth2组件已经包含了security。
首先写一个正常的登录功能,application配置文件和启动类都不用增加特殊配置,主要来配置security配置类:
/**
* 授权服务配置
*/
@Configuration
@EnableAuthorizationServer
public class AuthServerConfig extends AuthorizationServerConfigurerAdapter {
@Autow

本文介绍了OAuth2.0的核心概念,通过Spring Cloud Security和Spring Cloud OAuth2构建了一个简单的授权服务示例。文章详细阐述了如何配置授权服务,包括登录功能和获取code及token的过程,并提供了相关配置和代码示例。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



