Skip to content

luismendes070/auth0-java-oauth-examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java OAuth Examples

See this demo script to learn how these apps were created.

Get the Code

Clone this repo to begin.

git clone https://github.com/oktadev/auth0-java-oauth-examples.git
cd auth0-java-oauth-examples

Configure Spring Boot

Create an OIDC application using the Auth0 CLI.

auth0 apps create --reveal-secrets
  • Name: Spring Boot

  • Type: Regular Web Application

  • Allowed Callback URLs: http://localhost:8080/login/oauth2/code/auth0

  • Allowed Logout URLs: http://localhost:8080

Update application.properties to use these values.

spring.security.oauth2.client.provider.auth0.issuer-uri=https://<your-auth0-domain>/
spring.security.oauth2.client.registration.auth0.client-id=<client-id>
spring.security.oauth2.client.registration.auth0.client-secret=<client-secret>
spring.security.oauth2.client.registration.auth0.scope=openid,profile,email
auth0.audience=https://<your-auth0-domain>/api/v2/

Start the app:

mvn spring-boot:run

API Access with OAuth 2.0

Create an access token using Auth0’s CLI:

auth0 test token -a https://<your-auth0-domain>/api/v2/

Set the access token as an environment variable:

TOKEN=eyJhbGciOiJSUzI1NiIsInR5cCI6...

Access your resource server using HTTPie:

http :8080/hello "Authorization: Bearer $TOKEN"

Configure Quarkus

Update quarkus/.env to use your Auth0 domain.

ISSUER=https://<your-auth0-domain>

Run the app:

mvn quarkus:dev

Verify you can access it with an access token.

http :8080/hello "Authorization: Bearer $TOKEN"

Configure Micronaut

Update micronaut/src/main/resources/application.yml to use your Auth0 domain.

micronaut.security.token.jwt.signatures.jwks.auth0.url: https://<your-auth0-domain>/.well-known/jwks.json

Run the app:

mvn mn:run

Verify you can access it with an access token.

http :8080/hello "Authorization: Bearer $TOKEN"

Learn More

For more details on Java and OAuth, please read OAuth for Java Developers.