Getting Started
如果你刚开始使用 Spring Authorization Server,则以下部分将指导你创建你的第一个应用程序。
Installing Spring Authorization Server
Spring Authorization Server可以用在您已在其中使用 Spring Security的任何地方。
开始使用Spring Authorization Server的最简单方法是创建一个基于 Spring Boot的应用程序。您可以使用 start.spring.io生成基本项目或使用 default authorization server sample作为指导。然后将Spring Boot的starter for Spring Authorization Server添加为依赖项:
-
Maven
-
Gradle
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-authorization-server</artifactId>
</dependency>
implementation "org.springframework.boot:spring-boot-starter-oauth2-authorization-server"
请参阅 Installing Spring Boot以了解更多有关与 Maven 或 Gradle 一起使用 Spring Boot 的信息。 |
或者,你可以使用以下示例在不使用 Spring Boot 的情况下添加 Spring Authorization Server:
-
Maven
-
Gradle
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-authorization-server</artifactId>
<version>{spring-authorization-server-version}</version>
</dependency>
implementation "org.springframework.security:spring-security-oauth2-authorization-server:{spring-authorization-server-version}"
Developing Your First Application
若要开始,你需要将所需组件定义为 @Bean
。在使用 spring-boot-starter-oauth2-authorization-server
依赖项时,定义以下属性,Spring Boot 将为你提供必要的 @Bean
定义:
link:{docs-java}/sample/gettingstarted/application.yml[role=include]
除了入门体验之外,大多数用户都希望自定义默认配置。next section演示了如何自己提供所有必需 Bean。 |
Defining Required Components
如果你想自定义默认配置(无论是否使用 Spring Boot),可以在 Spring @Configuration
中将所需组件定义为一个 @Bean
。
可以按以下方式定义这些组件:
link:{docs-java}/sample/gettingstarted/SecurityConfig.java[role=include]
这是一个快速上手使用的最小配置。要了解每个组件的用途,请参阅以下说明:
1 | Protocol Endpoints 的 Spring Security 过滤器链。 |
2 | authentication 的 Spring Security 过滤器链。 |
3 | UserDetailsService 的一个实例,用于检索要验证的用户。 |
4 | RegisteredClientRepository 的一个实例,用于管理客户端。 |
5 | 用于对访问令牌进行签名的 com.nimbusds.jose.jwk.source.JWKSource 的实例。 |
6 | 一个 java.security.KeyPair 的实例,其中在启动时生成的密钥用于创建上述 JWKSource 。 |
7 | JwtDecoder 的一个实例,用于解码已签名的访问令牌。 |
8 | AuthorizationServerSettings 的一个实例,用于配置 Spring Authorization Server。 |