This example shows how to return the user's information from an API using an OAuth 2.0 access token.
Before running this sample, you will need the following:
- Java 17+
- The Okta CLI Tool
- An Okta Developer Account, create one using
okta register
, or configure an existing one withokta login
Grab and configure this project using okta start helidon
.
You can also clone this repo and run okta start
in it.
git clone https://github.com/okta-samples/okta-helidon-sample.git
cd okta-helidon-sample
okta start
Sign into your Okta Developer Edition account to add a required setting to your Helidon Okta app to avoid third-party cookies. Navigate to Applications > Applications and select "okta-helidon-sample" application to edit. Find the General Settings and press Edit. Enable Refresh Token in the Grant type section. Save your changes.
./mvnw package
java -jar target/helidon.jar
You can also retrieve user information from the /hello
endpoint with an OAuth 2.0 access token.
First, you'll need to generate an access token.
-
Run
okta apps create spa
. Setoidcdebugger
as an app name and press Enter. -
Use
https://oidcdebugger.com/debug
for the Redirect URI and set the Logout Redirect URI tohttps://oidcdebugger.com
. -
Navigate to the OpenID Connect Debugger website.
- Fill in your client ID
- Use
https://{yourOktaDomain}/oauth2/default/v1/authorize
for the Authorize URI - Use
openid offline_access
for the Scope - Select code for the response type and Use PKCE
- Click Send Request to continue
-
Set the access token as a
TOKEN
environment variable in a terminal window.TOKEN=eyJraWQiOiJYa2pXdjMzTDRBYU1ZSzNGM...
-
Test the API with HTTPie and an access token.
http :8080/hello Authorization:"Bearer $TOKEN"
For more details on how to build an application with Okta and Helidon you can read Build REST APIs and Native Java Apps with Helidon.