This repository is home to a Spring server written in Kotlin to help you get started building an OAuth2 client application!
When I first implemented an OAuth2.0 client application at our organization, configuring our reactive Spring application correctly and securely took lots of time to figure out! The above guide and this repository are what I wish I had when I was doing that work.
Implements a reactive Spring OAuth client with login and logout, which will allow you to request users to authorize
OpenID Connect scopes like openid
, profile
, email
as well as OAuth2 scopes specific to your provider.
There are a few ways to get a copy of this repository.
- Using the
git
command in your terminal:
git clone git@github.com:ConservationColorado/kotlin-oauth2-client-starter # over SSH
git clone https://github.com/ConservationColorado/kotlin-oauth2-client-starter # over HTTPS
- Using the
wget
command in your terminal:
wget -Q https://github.com/ConservationColorado/kotlin-oauth2-client-starter/archive/refs/heads/main.zip && unzip -q main.zip
- Alternatively, you can
download a
.zip
file containing of the main branch at this link, then extract the contents with your operating system's file explorer.
To run the app, you'll need to supply the environment variables specified as required below. You can acquire these from your OAuth provider.
Variable | Required? | Description |
---|---|---|
CLIENT_ID |
Y | Your application's client_id |
CLIENT_SECRET |
Y | Your application's client_secret |
Don't forget to reference your provider's name in this line of configuration.
Skip this step if you've cloned this repository. These are already included in this project (view the full dependency graph at this link).
If you’re starting from scratch with start.spring.io or IntelliJ’s Spring project creator, include these dependencies:
- Spring Reactive Web
- Spring Security
- Spring Security OAuth 2 Client