暫無描述

github-actions[bot] 0c5ea9e3f5 Release 1.4.5 3 天之前
.github 98e2239e5d Bump actions/checkout from 4 to 5 4 天之前
buildSrc 6bbd62914c Prevent NPE 3 月之前
dependencies 31b3e7711b Merge branch '1.2.x' into 1.3.x 10 月之前
docs 3371a10c2a Bump @antora/collector-extension from 1.0.1 to 1.0.2 in /docs 4 天之前
etc 572255bebe Use toLower/toUpperCase with Locale argument 10 月之前
git 6ceb56fb70 Bump next minor version 1 年之前
gradle 222ac8f81c Bump org.springframework.security:spring-security-bom 3 天之前
oauth2-authorization-server b40b265ac5 Merge branch '1.3.x' into 1.4.x 2 月之前
samples ab5be4349d Merge branch '1.3.x' into 1.4.x 1 月之前
scripts c7afe536b2 Apply release plugin 1 年之前
.editorconfig f3f8c33b93 Add .editorconfig 5 年之前
.gitignore 6ed0a220cb Use springio/antora-extensions 11 月之前
CONTRIBUTING.adoc a8c4f94b88 Migrate to Developer Certificate of Origin (DCO) process 7 月之前
LICENSE.txt 3f807b9683 Add LICENSE.txt 5 年之前
README.adoc 8648861344 Remove reference to GitHub project board 1 周之前
build.gradle 417a13e8f0 Bump io.spring.security.release from 1.0.10 to 1.0.11 4 天之前
gradle.properties 0c5ea9e3f5 Release 1.4.5 3 天之前
gradlew a05d89d3c6 Update to Gradle 8.6 1 年之前
gradlew.bat a05d89d3c6 Update to Gradle 8.6 1 年之前
settings.gradle bef752a39d Bump io.spring.develocity.conventions from 0.0.23 to 0.0.24 1 周之前

README.adoc

= Spring Authorization Server image:https://badges.gitter.im/Join%20Chat.svg[Gitter,link=https://gitter.im/spring-projects/spring-security?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge] image:https://github.com/spring-projects/spring-authorization-server/actions/workflows/continuous-integration-workflow.yml/badge.svg["Build Status", link="https://github.com/spring-projects/spring-authorization-server/actions/workflows/continuous-integration-workflow.yml"] image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?&search.rootProjectNames=spring-authorization-server"]

The Spring Authorization Server project, led by the https://spring.io/projects/spring-security/[Spring Security] team, is focused on delivering https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-07#section-1.1[OAuth 2.1 Authorization Server] support to the Spring community.

This project replaces the Authorization Server support provided by https://github.com/spring-attic/spring-security-oauth[Spring Security OAuth].

== Feature Planning
This project uses https://github.com/spring-projects/spring-authorization-server/issues[GitHub Issues] to prioritize the feature roadmap.

The feature list can be viewed in the https://docs.spring.io/spring-authorization-server/reference/overview.html#feature-list[reference documentation].

== Support Policy
The Spring Authorization Server project provides software support through the https://tanzu.vmware.com/support/oss[VMware Tanzu OSS support policy].
https://tanzu.vmware.com/spring-runtime[Commercial support], which offers an extended support period, is also available from VMware.

== Getting Started
The first place to start is to read the https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-11[OAuth 2.1 Authorization Framework] to gain an in-depth understanding on how to build an Authorization Server.
It is a critically important first step as the implementation must conform to the specification defined in the OAuth 2.1 Authorization Framework and the https://github.com/spring-projects/spring-authorization-server/wiki/OAuth2-and-OIDC-Specifications[related specifications].

The second place to start is to become very familiar with the codebase in the following Spring Security modules:

- https://github.com/spring-projects/spring-security/tree/main/oauth2/oauth2-core[OAuth 2.0 Core]
- https://github.com/spring-projects/spring-security/tree/main/oauth2/oauth2-client[OAuth 2.0 Client]
- https://github.com/spring-projects/spring-security/tree/main/oauth2/oauth2-resource-server[OAuth 2.0 Resource Server]
- https://github.com/spring-projects/spring-security/tree/main/oauth2/oauth2-jose[OAuth 2.0 JOSE] (Javascript Object Signing and Encryption)

A significant amount of effort was put into developing the https://spring.io/blog/2018/01/30/next-generation-oauth-2-0-support-with-spring-security[Next Generation OAuth 2.0 Support in Spring Security].
The goal is to leverage all the knowledge learned thus far and apply the same to the development of Spring Authorization Server.

Submitted work via pull requests should follow the same coding style/conventions and adopt the same or similar design patterns that have been established in Spring Security's OAuth 2.0 support.

== Documentation
Be sure to read the https://docs.spring.io/spring-authorization-server/reference/[Spring Authorization Server Reference] and https://docs.spring.io/spring-security/reference[Spring Security Reference], as well as the https://docs.spring.io/spring-security/reference/servlet/oauth2/index.html[OAuth 2.0 Reference], which describes the Client and Resource Server features available.

JavaDoc is also available for the https://docs.spring.io/spring-authorization-server/docs/current/api/[Spring Authorization Server API] and https://docs.spring.io/spring-security/site/docs/current/api/[Spring Security API].

== Code of Conduct
Please see our https://github.com/spring-projects/.github/blob/main/CODE_OF_CONDUCT.md[code of conduct].

== Downloading Artifacts
See https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Artifacts[downloading Spring artifacts] for Maven repository information.

== Building from Source
Spring Authorization Server uses a https://gradle.org[Gradle]-based build system.
In the instructions below, https://vimeo.com/34436402[`./gradlew`] is invoked from the root of the source tree and serves as
a cross-platform, self-contained bootstrap mechanism for the build.

=== Prerequisites
https://help.github.com/set-up-git-redirect[Git] and the https://www.oracle.com/technetwork/java/javase/downloads[JDK17 build].

Be sure that your `JAVA_HOME` environment variable points to the `jdk17` folder extracted from the JDK download.

=== Check out sources
[indent=0]
----
git clone git@github.com:spring-projects/spring-authorization-server.git

----

=== Install all spring-\* jars into your local Maven cache
[indent=0]
----
./gradlew publishToMavenLocal
----

=== Compile and test; build all jars, distribution zips, and docs
[indent=0]
----
./gradlew build
----

Discover more commands with `./gradlew tasks`.

== Getting Support
Check out the https://stackoverflow.com/questions/tagged/spring-authorization-server[Spring Authorization Server tags on Stack Overflow].
https://spring.io/support[Commercial support] is available too.

== Contributing
https://help.github.com/articles/creating-a-pull-request[Pull requests] are welcome; see the link:CONTRIBUTING.adoc[contributor guidelines] for details.

== License
Spring Authorization Server is Open Source software released under the
https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].