Quarkus Example with Java and OIDC Authentication
A Quarkus example app that shows how to develop REST endpoints and secure them with MicroProfile JWT and OIDC.
Please read How to Develop a Quarkus App with Java and OIDC Authentication to see how this app was created.
Prerequisites: Java 11.
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 + roles in any application.
Getting Started
To install this example application, run the following commands:
git clone https://github.com/oktadeveloper/okta-quarkus-example.git
cd okta-quarkus-example
This will get a copy of the project installed locally. To run the example, run the following command:
./mvnw compile quarkus:dev
Create an OIDC App in Okta
You will need to create an OIDC App in Okta to get a clientId
to generate a JWT for authentication.
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
.
Put your Okta domain name into src/main/resources/application.properties
.
mp.jwt.verify.publickey.location=https://{yourOktaDomain}/oauth2/default/v1/keys
mp.jwt.verify.issuer=https://{yourOktaDomain}/oauth2/default
NOTE: The value of {yourOktaDomain}
should be something like dev-123456.okta.com
. Make sure you don't include -admin
in the value!
After modifying this file, restart your app and it'll be protected by Okta! See this repo's blog post to learn how to gain access to it with an OAuth 2.0 access token.
Links
This example uses the MicroProfile JWT RBAC security specification (MP-JWT) to integrate with Okta.
Help
Please post any questions as comments on the blog post, or visit our Okta Developer Forums.
License
Apache 2.0, see LICENSE.