/spring-authorization-server

A community-driven project led by the Spring Security team and is focused on delivering Authorization Server support to the Spring community

Primary LanguageJavaApache License 2.0Apache-2.0

Gitter

Build Status

Spring Authorization Server

Spring Authorization Server is a community-driven project led by the Spring Security team and is focused on delivering OAuth 2.0 Authorization Server support to the Spring community.

The project will start in Spring’s experimental projects as an independent project so that it can evolve more rapidly.

The ultimate goal of this project is to replace the Authorization Server support provided by Spring Security OAuth.

With the much needed help from our community, this project will grow in the same way that the original Spring Security OAuth project did.

Feature Planning

This project uses ZenHub to prioritize the feature roadmap and help organize the project plan. The project board can be accessed here. It is recommended to install the ZenHub browser extension as it integrates natively within GitHub’s user interface.

The completed and upcoming feature list can be viewed in the wiki.

Getting Started

The first place to start is to read the OAuth 2.0 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.0 Authorization Framework and the related specifications.

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

A significant amount of effort was put into developing the 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 Spring Security Reference, as well as the OAuth 2.0 Reference, which describes the Client and Resource Server features available.

Extensive JavaDoc for the Spring Security code is also available in the Spring Security API Documentation.

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Downloading Artifacts

See downloading Spring artifacts for Maven repository information.

Building from Source

Spring Authorization Server uses a Gradle-based build system. In the instructions below, ./gradlew is invoked from the root of the source tree and serves as a cross-platform, self-contained bootstrap mechanism for the build.

Prerequisites

Git and the JDK8 build.

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

Check out sources

git clone git@github.com:spring-projects-experimental/spring-authorization-server.git

Install all spring-\* jars into your local Maven cache

./gradlew install

Compile and test; build all jars, distribution zips, and docs

./gradlew build

Discover more commands with ./gradlew tasks.

Getting Support

Contributing

Pull requests are welcome; see the contributor guidelines for details.

License

Spring Authorization Server is Open Source software released under the Apache 2.0 license.