A Spring Boot example app that shows how to implement single sign-on (SSO) with Spring Security and Okta.
Please read Get Started with Spring Boot, OAuth 2.0, and Okta to see how this app was created.
Prerequisites: Java 8.
Okta has Authentication and User Management APIs that reduce development time with instant-on, scalable user infrastructure. Okta's intuitive API and expert support make it easy for developers to authenticate, manage and secure users and roles in any application.
To install this example application, run the following commands:
git clone https://github.com/oktadeveloper/okta-spring-boot-oauth-example.git
cd okta-spring-boot-oauth-example
This will get a copy of the project installed locally. To run the example, install Spring CLI and run the following command:
spring run helloOAuth.groovy
You will need to create an OIDC App in Okta to get a clientId
and clientSecret
.
Log in to your Okta Developer account (or sign up if you don’t have an account) and navigate to Applications > Add Application. Click Web, click Next, and give the app a name you’ll remember. Click Done and copy the clientId
and clientSecret
into server/src/main/resources/application.yml
.
security:
oauth2:
client:
clientId: {clientId}
clientSecret: {clientSecret}
accessTokenUri: https://{yourOktaDomain}.com/oauth2/default/v1/token
userAuthorizationUri: https://{yourOktaDomain}.com/oauth2/default/v1/authorize
scope: openid profile email
resource:
# from your Auth Server's metadata at .well-known/openid-configuration
userInfoUri: https://{yourOktaDomain}.com/oauth2/default/v1/userinfo
NOTE: The value of {yourOktaDomain}
should be something like dev-123456.oktapreview
. Make sure you don't include -admin
in the value!
After modifying this file, restart your app and you'll be redirect to Okta to login.
This example uses Spring Security OAuth to integrate with Okta.
Please post any questions as comments on the blog post, or visit our Okta Developer Forums. You can also email developers@okta.com if would like to create a support ticket.
Apache 2.0, see LICENSE.