Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Spring Boot OAuth 2.0 & OpenID Connect Identity Provider / Authorization Server

License

NotificationsYou must be signed in to change notification settings

andifalk/authorizationserver

Repository files navigation

LicenseJava CISecurityScanCodeQL

Authorization Server

An OAuth 2.0 & OpenID Connect (OIDC) compliant authorization server just for demo purposes to be used as part of OAuth2/OIDC workshops.

Targets

This authorization server should...

  • be available for free as open-source
  • support efforts to learn OAuth2/OpenID Connect (self-study or as part of workshops)
  • provide an easy way for setting up and run it (i.e. without consulting tons of documentation)
  • support latest specs and drafts for OAuth 2.x and OpenID Connect
  • be provided as docker container & supporttestcontainers

IMPORTANT:
The intention of this project is to be used for demos and as part of trainings/workshops.
It isNOT ready for production use!!

If you are looking for a production-grade identity access management solution please consult thelist ofCertified OpenID provider servers and servicesat theOpenID Foundation.

Features (Supported)

Features (NOT Supported)

Features (Planned)

Roadmap

  • Q1 2021:Release 1.0 - Mandatory OAuth 2.0 & OIDC grant flows, user and client management, H2 in-memory storage
  • Q2 2021:Release 1.1 - Support additional OAuth 2.0 RFCs/Drafts + support other databases for storage

Setup and Run the Authorization Server

To run the server you need at least a Java 11 JDK or higher (versions 11 and 14 are currently tested).

To run the server just perform agradlew bootrun orrun the Spring Boot starter classcom.example.authorizationserver.AuthorizationServerApplication via your Java IDE.

It is also planned to provide the server as pre-packaged docker container image at a later project stage.

User Management

It is planned to provide an integrated user management system via Web UI and Rest API.Currently, the Web UI only supports read-only access atlocalhost:9090/auth/admin.The Rest API also supports creating new users already.

The following predefined users are setup at startup time automatically:

UsernameEmailPasswordRole
bwaynebruce.wayne@example.comwayneLIBRARY_USER
pparkerpeter.parker@example.comparkerLIBRARY_CURATOR
ckentclark.kent@example.comkentLIBRARY_ADMIN
adminmax.root@example.comadminADMIN

Client Management

It is planned to provide an integrated client management system via Web UI and Rest API.Currently the Web UI only supports read-only access atlocalhost:9090/auth/admin.The Rest API also supports creating new clients already.

The following predefined clients are setup at startup time automatically:

Client-IdClient-SecretConfidentialGrantsToken-FormatRedirect UrisCORS
confidential-jwtdemoyesAuthz Code (+/- PKCE), Client CredsJWThttp://localhost:8080/demo-client/login/oauth2/code/demo*
public-jwt--noAuthz Code + PKCEJWThttp://localhost:8080/demo-client/login/oauth2/code/demo*
confidential-opaquedemoyesAuthz Code (+/- PKCE), Client CredsOpaquehttp://localhost:8080/demo-client/login/oauth2/code/demo*
public-opaque--noAuthz Code + PKCEOpaquehttp://localhost:8080/demo-client/login/oauth2/code/demo*

Feedback

If you have any feedback on this project this is highly appreciated.

Just send an email toandreas.falk(at)novatec-gmbh.de or contact me via Twitter (@andifalk).

License

Apache 2.0 licensed


[8]ページ先頭

©2009-2025 Movatter.jp