From 9489c738bf99d3ba7fb16e6a672be2f399d41eb0 Mon Sep 17 00:00:00 2001 From: Sergey Beryozkin Date: Mon, 28 Aug 2023 19:19:59 +0100 Subject: [PATCH] Add a blog post about Quarkus OIDC and Auth0 --- _data/authors.yaml | 7 + _posts/2023-09-01-oidc-auth0.adoc | 571 ++++++++++++++++++ .../oidc-auth0/auth0-add-role-action.png | Bin 0 -> 20229 bytes .../oidc-auth0/auth0-add-role-to-user.png | Bin 0 -> 38462 bytes .../posts/oidc-auth0/auth0-add-user.png | Bin 0 -> 48533 bytes .../auth0-advanced-tenant-settings-logout.png | Bin 0 -> 52255 bytes .../oidc-auth0/auth0-allowed-callback.png | Bin 0 -> 45299 bytes .../oidc-auth0/auth0-allowed-callbacks.png | Bin 0 -> 14454 bytes .../posts/oidc-auth0/auth0-allowed-logout.png | Bin 0 -> 51437 bytes .../posts/oidc-auth0/auth0-authorize.png | Bin 0 -> 24912 bytes .../oidc-auth0/auth0-create-application.png | Bin 0 -> 67043 bytes .../posts/oidc-auth0/auth0-create-role.png | Bin 0 -> 19372 bytes .../oidc-auth0/auth0-created-application.png | Bin 0 -> 54985 bytes .../oidc-auth0/auth0-devui-accesstoken.png | Bin 0 -> 198515 bytes .../auth0-devui-dashboard-with-name.png | Bin 0 -> 42482 bytes .../auth0-devui-dashboard-without-name.png | Bin 0 -> 38904 bytes .../oidc-auth0/auth0-devui-login-to-spa.png | Bin 0 -> 17982 bytes .../auth0-devui-test-accesstoken-200.png | Bin 0 -> 49136 bytes .../images/posts/oidc-auth0/auth0-devui.png | Bin 0 -> 17026 bytes .../oidc-auth0/auth0-idtoken-with-name.png | Bin 0 -> 82760 bytes .../oidc-auth0/auth0-idtoken-without-name.png | Bin 0 -> 239515 bytes .../posts/oidc-auth0/auth0-login-flow.png | Bin 0 -> 30599 bytes .../images/posts/oidc-auth0/auth0-login.png | Bin 0 -> 30971 bytes .../oidc-auth0/auth0-well-known-config.png | Bin 0 -> 77730 bytes 24 files changed, 578 insertions(+) create mode 100644 _posts/2023-09-01-oidc-auth0.adoc create mode 100644 assets/images/posts/oidc-auth0/auth0-add-role-action.png create mode 100644 assets/images/posts/oidc-auth0/auth0-add-role-to-user.png create mode 100644 assets/images/posts/oidc-auth0/auth0-add-user.png create mode 100644 assets/images/posts/oidc-auth0/auth0-advanced-tenant-settings-logout.png create mode 100644 assets/images/posts/oidc-auth0/auth0-allowed-callback.png create mode 100644 assets/images/posts/oidc-auth0/auth0-allowed-callbacks.png create mode 100644 assets/images/posts/oidc-auth0/auth0-allowed-logout.png create mode 100644 assets/images/posts/oidc-auth0/auth0-authorize.png create mode 100644 assets/images/posts/oidc-auth0/auth0-create-application.png create mode 100644 assets/images/posts/oidc-auth0/auth0-create-role.png create mode 100644 assets/images/posts/oidc-auth0/auth0-created-application.png create mode 100644 assets/images/posts/oidc-auth0/auth0-devui-accesstoken.png create mode 100644 assets/images/posts/oidc-auth0/auth0-devui-dashboard-with-name.png create mode 100644 assets/images/posts/oidc-auth0/auth0-devui-dashboard-without-name.png create mode 100644 assets/images/posts/oidc-auth0/auth0-devui-login-to-spa.png create mode 100644 assets/images/posts/oidc-auth0/auth0-devui-test-accesstoken-200.png create mode 100644 assets/images/posts/oidc-auth0/auth0-devui.png create mode 100644 assets/images/posts/oidc-auth0/auth0-idtoken-with-name.png create mode 100644 assets/images/posts/oidc-auth0/auth0-idtoken-without-name.png create mode 100644 assets/images/posts/oidc-auth0/auth0-login-flow.png create mode 100644 assets/images/posts/oidc-auth0/auth0-login.png create mode 100644 assets/images/posts/oidc-auth0/auth0-well-known-config.png diff --git a/_data/authors.yaml b/_data/authors.yaml index 7c745b3390f..337bea705a8 100644 --- a/_data/authors.yaml +++ b/_data/authors.yaml @@ -474,3 +474,10 @@ rtoyonag: emailhash: "4c720895d3cfe6ac32bd2fc326bfebab" job_title: "Software Engineer" bio: "Software Engineer, working at Red Hat on GraalVM Native Image." +sberyozkin: + name: "Sergey Beryozkin" + email: "sberyozkin@gmail.com" + emailhash: "7941c5788c2e02a4f7f51409afca3090" + job_title: "Software Engineer" + twitter: "sberyozkin" + bio: "Software Engineer, working at Red Hat on Quarkus Security." diff --git a/_posts/2023-09-01-oidc-auth0.adoc b/_posts/2023-09-01-oidc-auth0.adoc new file mode 100644 index 00000000000..ce1d91ad140 --- /dev/null +++ b/_posts/2023-09-01-oidc-auth0.adoc @@ -0,0 +1,571 @@ +--- +layout: post +title: 'Secure Quarkus endpoints with OIDC and Auth0' +date: 2023-09-01 +tags: extension oidc security auth0 development-tips +synopsis: 'Explain how to use OIDC and Auth0 to secure Quarkus endpoints' +author: sberyozkin +--- +:imagesdir: /assets/images/posts/oidc-auth0 + +https://quarkus.io/guides/security-architecture[Quarkus Security] provides comprehensive OpenId Connect (OIDC) and OAuth2 support with its `quarkus-oidc` extension, supporting both https://quarkus.io/guides/security-oidc-code-flow-authentication[Authorization code flow] and https://quarkus.io/guides/security-oidc-bearer-token-authentication[Bearer token] authentication mechanisms. + +Well-known providers such as `Keycloak`, `Okta`, `Auth0`, `Azure`, many https://quarkus.io/guides/security-openid-connect-providers[social providers] can be configured with ease. + +In this blog post we will show how `Auth0` can be used to secure your Quarkus endpoints. + +== Create Auth0 application + +Start with creating an `Auth0` application in the `Auth0` dashboard, for example, lets create a `QuarkusAuth0` web application: + +image::auth0-create-application.png[Create Auth0 application] + +`Auth0` will create it and generate the client id and secret and show its HTTPS-based domain: + +image::auth0-created-application.png[Created Auth0 application] + +You will use these 3 properties to configure Quarkus at the next step. + +Next, add users to this application by selecting the `Users` option in the application's dashboard, for example: + +image::auth0-add-user.png[Add Auth0 application users] + +Now that the initial `Auth0` application setup has been completed, you are ready to start creating and configuring a Quarkus endpoint. We will be updating the `Auth0` application configuration along the way as necessary. + +== Create Quarkus application + +Use the following Maven command to create a Quarkus REST application which can be secured with its OIDC extension. + +[source,bash] +---- +$ mvn io.quarkus.platform:quarkus-maven-plugin:3.3.0:create \ + -DprojectGroupId=org.acme \ + -DprojectArtifactId=quarkus-auth0 \ + -Dextensions='resteasy-reactive,oidc' +cd quarkus-auth0 +---- + +Create the application workspace and import it into your favourite IDE, you'll have a `GreetingResource` JAX-RS resource that will need to be secured: + +[source,java] +---- +package org.acme; + +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello from RestEasy Reactive"; + } +} +---- + +Request that only authenticated users can access the `/hello` endpoint and have the current user's name returned instead: + +[source,java] +---- +package org.acme; + +import org.eclipse.microprofile.jwt.JsonWebToken; + +import io.quarkus.oidc.IdToken; +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @Inject + @IdToken + JsonWebToken idToken; + + @GET + @Authenticated + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello, " + idToken.getName(); + } +} +---- + +Here we have added `io.quarkus.security.Authenticated` annotation to the `hello()` method and updated its implementation to use an injected `IdToken` `JsonWebToken` (JWT) to return the user's name. The reason we qualify an injected `JsonWebToken` as `IdToken` is because it represents a user authentication in the OIDC Authorization code flow, while an access token is used by Quarkus to access some doownstream services on behalf of the currently authenticated user. We will talk about using the access tokens later in this blog post. + +Create the Quarkus configuration in `application.properties` by using the properties from the created `Auth0` application: + +[source,configuration] +---- +# Make sure the application domain is prefixed with 'https://' +quarkus.oidc.auth-server-url=https://dev-3ve0cgn7.us.auth0.com +quarkus.oidc.application-type=web-app +quarkus.oidc.client-id=sKQu1dXjHB6r0sra0Y1YCqBZKWXqCkly +quarkus.oidc.credentials.secret=${client-secret} +---- + +Here, you have configured Quarkus to use the created `Auth0` application's domain, client id and secret. `quarkus.oidc.application-type=web-app` is an indication to Quarkus that the OIDC Authorization code flow must be used (we'll consider the alternatives later in this post). + +Note that you will use Quarkus `devmode` to test the endpoint so the endpoint address will be `http://localhost:8080/hello`. You need to register this address as an allowed callback URL in your `Auth0` application: + +image::auth0-allowed-callback.png[Auth0 allowed callback URL] + +This means that you will access the Quarkus `http://localhost:8080/hello` endpoint from the browser and `Auth0` will redirect you back to the same address after the authentication has been completed. + +[NOTE] +==== +Quarkus also allows to configure the callback path with the `quarkus.oidc.authentication.redirect-path` property. Why you do not have to configure a callback path for this Quarkus application ? By default, Quarkus will use the current request path as the callback path which is why you don't have to configure `quarkus.oidc.authentication.redirect-path=/hello`. + +In production, your application will most likely have a larger URL space, with many more endpoint addresses available. In such cases you would configure Quarkus with a dedicated callback (redirect) path, for example, `quarkus.oidc.authentication.redirect-path=/callback` and register this URL in the provider's dashboard as `Auth0` will not allow an open ended list of redirect URLs. +==== + +Now you are ready to start testing the endpoint. + +== Test Quarkus endpoint - first try + +Start Quarkus in `devmode`: + +[source,bash] +---- +$ mvn quarkus:dev +---- + +This is the only time you are expected to start Quarkus manually in devmode. All the configuration and code updates in the follow up sections will be recoznized by Quarkus without having to restart it manually. + +Open the browser and access `http://localhost:8080/hello`, you will be redirected to the `Auth0` where you will login: + +image::auth0-login.png[Auth0 Login] + +and authorize the `QuarkusAuth0` application to access your account: + +image::auth0-authorize.png[Auth0 Authorize] + +and finally you will be redirected back to the Quarkus endpoint and get a response, `Hello, auth0|60e5a305e8da5a006aef5471`. + +This is not the current user's name though, the question is, why is this strange sequence returned ? + +Lets use https://quarkus.io/guides/security-openid-connect-dev-services#dev-ui-all-oidc-providers[Quarkus OIDC Dev UI console] to find out. + +== Looking at Auth0 tokens in OIDC DevUI + +Quarkus provides a great https://quarkus.io/guides/dev-ui-v2[DevUI] experience. In particular, it offers an out of the box support for developing and testing OIDC endpoints with a Keycloak container, https://quarkus.io/guides/security-openid-connect-dev-services#dev-services-for-keycloak[DevService for Keycloak] which is launched when the OIDC provider's address is not already configured with `quarkus.oidc.auth-server-url`. + +However, Quarkus users can continue using OIDC DevUI when the provider is already configured. Lets check it right now. + +First though, make sure you change your Quarkus application to have a `hybrid` application type, instead of the current `web-app`: + +[source,configuration] +---- +quarkus.oidc.auth-server-url=https://dev-3ve0cgn7.us.auth0.com +# Changed from 'web-app' to 'hybrid' +quarkus.oidc.application-type=hybrid +quarkus.oidc.client-id=sKQu1dXjHB6r0sra0Y1YCqBZKWXqCkly +quarkus.oidc.credentials.secret=${client-secret} +---- + +The reason it was changed to `hybrid` is because OIDC Dev UI currently supports an `SPA` mode only, i.e, it itself, using its own Java Script, authenticates users to the OIDC provider, and uses the access token as a `bearer` token to access the Quarkus endpoint as a service. + +Typically, Quarkus has to be configured with `quarkus.oidc.application-type=service` to support `Bearer` token authentication but it also supports a `hybrid` application type which means it can support both the Authorization code flow and Bearer token flows. + +The other thing you need to do is to configure the Auth0 application to allow the callbacks to OIDC Dev UI, its URL format is `http://localhost:8080/q/dev-ui/io.quarkus.quarkus-oidc/${provider-name}-provider` where in this case the `${provider-name}` is `auth0`: + +image::auth0-allowed-callbacks.png[Auth0 Allowed Callbacks] + +Now you are ready to use OIDC Dev UI with Auth0, open `http://localhost:8080/q/dev/` in the browser and you will find an OpenId Connect provider pointing to an `Auth0` provider SPA: + +image::auth0-devui.png[Auth0 DevUI] + +Click on the provider link and press `Login into Single Page Application`: + +image::auth0-devui-login-to-spa.png[Auth0 DevUI Login to SPA] + +You will be redirected to `Auth0`, where you will login and be redirected to the OIDC Dev UI Dashboard: + +image::auth0-devui-dashboard-without-name.png[Auth0 DevUI Dashboard Without Name] + +Here you can look at both ID and tokens in the encoded and decoded formats, copy them to the clipboard or use either of them to test the service endpoint. We will test the endpoint later but for now lets check the ID token: + +image::auth0-idtoken-without-name.png[Auth0 IdToken without name] + +As you can see it does not have any claim representing a user name but if you check its `sub` (subject) claim you will see its value matches what you got in the response when you accessed the Quarkus endpoint directly from the browser, `Hello, auth0|60e5a305e8da5a006aef5471`. + +Lets fix it by configuring Quarkus to request a standard OIDC `profile` scope during the authentication process which should result in the ID token including more information: + +[source,configuration] +---- +quarkus.oidc.auth-server-url=https://dev-3ve0cgn7.us.auth0.com +quarkus.oidc.application-type=hybrid +quarkus.oidc.client-id=sKQu1dXjHB6r0sra0Y1YCqBZKWXqCkly +quarkus.oidc.credentials.secret=${client-secret} +# Request 'profile' scope in addition to the default 'openid' scope +quarkus.oidc.authentication.scopes=openid,profile +---- + +Now go back to `http://localhost:8080/q/dev/`, repeat the process of logging in to `Auth0` and check the ID token again, now you should see the ID token containing the `name` claim: + +image::auth0-idtoken-with-name.png[Auth0 IdToken with name] + +Now you should get the name when you access the Quarkus endpoint directly from the browser. Clear the browser cookie cache just in case, access `http://localhost:8080/hello` and yet again, you get `Hello, auth0|60e5a305e8da5a006aef5471` returned. Hmm, what is wrong ? + +The answer lies with the specifics of the `org.eclipse.microprofile.jwt.JsonWebToken#getName()` implementation, which, according to the https://github.com/eclipse/microprofile-jwt-auth[MicroProfile MP JWT RBAC specification], checks an MP JWT specific `upn` claim, next trying `preferred_username` and finally `sub` which explains why you get the `Hello, auth0|60e5a305e8da5a006aef5471` answer even with the ID token containing the `name` claim. We can fix it easily by changing the endpoint `hello()` method's implementation to return a specific claim value: + +[source,java] +---- +package org.acme; + +import org.eclipse.microprofile.jwt.JsonWebToken; + +import io.quarkus.oidc.IdToken; +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @Inject + @IdToken + JsonWebToken idToken; + + @GET + @Authenticated + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello, " + idToken.getClaim("name"); + } +} +---- + +Now clear the browser cache again, access access `http://localhost:8080/hello` and finally you get the the user name, for example, `Hello, Sergey Beryozkin`. + +== Logout support + +Now that you have the users signing in to Quarkus with the help from `Auth0`, you will likely want to support a user initiated logout. Quarkus supports https://quarkus.io/guides/security-oidc-code-flow-authentication#logout-and-expiration[RP-initiated and other standard OIDC logout mechanisms, as well as the local session logout]. + +Currently, `Auth0` does not support the standard `RP-initiated logout` and does not provide the end session URL in its discoverable metadata, but it offers its own logout mechanism which works pretty much the same as the standard one. With Quarkus OIDC it is easy to support. We need to configure manually the end session URL, and have Quarkus include a `client-id` in the logout request: + +[source,configuration] +---- +quarkus.oidc.auth-server-url=https://dev-3ve0cgn7.us.auth0.com +quarkus.oidc.application-type=hybrid +quarkus.oidc.client-id=sKQu1dXjHB6r0sra0Y1YCqBZKWXqCkly +quarkus.oidc.credentials.secret=${client-secret} +quarkus.oidc.authentication.scopes=openid,profile + +# Auth0 does not include the end sessiion URL in its metadata, so complement it with the manual configuration +quarkus.oidc.end-session-path=v2/logout + +# Auth0 will not recognize the 'post_logout_redirect_uri' query parameter so make sure it is named as 'returnTo' +quarkus.oidc.logout.post-logout-uri-param=returnTo +# Include the client-id in the logout request +quarkus.oidc.logout.extra-params.client_id=${quarkus.oidc.client-id} + +# Authenticated requests to this path will be treated as RP-inititated logout requests +quarkus.oidc.logout.path=/logout +# This is a public resource to where the logout user should be returned to +quarkus.oidc.logout.post-logout-path=/hello/post-logout + +# Make sure the /logout path is protected: +quarkus.http.auth.permission.authenticated.paths=/logout +quarkus.http.auth.permission.authenticated.policy=authenticated +---- + +Here we have customized the `Auth0` end session URL and indicated to Quarkus that the `http://localhost:8080/logout` requests must trigger the user logout. The interesting thing about the `/logout` path is that it is `virtual`, it is not supported ny any method in our JAX-RS endpoint, so for Quarkus OIDC to be able to react to `/logout` requests we attach an `authenticated` https://quarkus.io/guides/security-authorize-web-endpoints-reference#authorization-using-configuration[HTTP security policy] to this path directly in the configuration. + +We also have configured Quarkus to return the logged out user the public `/hello/post-logout` resource, with this path included in the logout request as the `Auth0` specific `returnTo` query parameter. And finally, the Quarkus application's `client-id` is included in the logout URL as well. + +Finally, the endpoint has been updated to accept the post logout redirects: + +[source,java] +---- +package org.acme; + +import org.eclipse.microprofile.jwt.JsonWebToken; + +import io.quarkus.oidc.IdToken; +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @Inject + @IdToken + JsonWebToken idToken; + + @GET + @Authenticated + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello, " + idToken.getClaim("name"); + } + + @GET + @Path("post-logout") + @Produces(MediaType.TEXT_PLAIN) + public String postLogout() { + return "You were logged out"; + } +} +---- + +Note the addition of the public `/hello/post-logout` resource. + +Before we test the logout, make sure the `Auth0` application is configured to allow this post logout redirect back to Quarkus after the user has been logged out: + +image::auth0-allowed-logout.png[Auth0 Allowed Logout]. + +Now, clear the browser cookie cache, login to Quarkus by accessing `http://localhost:8080/hello`, get the user name returned, and now go to `http://localhost:8080/logout`. You'll get the `You were logged out` message in the browser. + +Now go to the Dev UI, `http://localhost:8080/q/dev/`, login to `Auth0` from the Dev UI SPA and notice you can now logout from the OIDC Dev UI too, see the symbol representing the way out next to the `Logged in as Sergey Beryozkin` text : + +image::auth0-devui-dashboard-with-name.png[Auth0 Dashboard with name and Logout]. + +The only current limitation in OIDC DevUI is that for it to support `Auth0` logouts, you have to configure a global post logout URL in the advanced `Auth0` tenant properties, since OIDC DevUI does not support passing the additional logout properties such as `client-id` which works if you access the Quarkus endpoint directly from the browser: + +image::auth0-advanced-tenant-settings-logout.png[Auth0 Advanced Tenant Settings Logout]. + +Now you can logout the current user and login a new user directly from OIDC Dev UI as well. + +== Role Based Access Control + +We have confirmed that the Quarkus endpoint can be accessed by users who have authenticated with the help of `Auth0`. + +The next step is to introduce Role Based Access Control (RBAC) to have users in a specific role only, such as `admin`, be able to access the endpoint. + +Auth0 tokens do not include any claims containing roles by default, so first you need to customize the `Login` flow of the `Auth0` application with a custom action which will add the roles. Select `Actions/Flows/Login` in the `Auth0` dashboard, choose `Add Action/Build Custom`, name it as `AddRoleClaim`: + +image::auth0-add-role-action.png[Auth0 Add Role Action] + +And add the following action script to it: + +[source,javascript] +---- +exports.onExecutePostLogin = async (event, api) => { + const namespace = 'https://quarkus-security.com'; + if (event.authorization) { + api.idToken.setCustomClaim(`${namespace}/roles`, event.authorization.roles); + api.accessToken.setCustomClaim(`${namespace}/roles`, event.authorization.roles); + } +}; +---- + +Note a custom Auth0 claim has to be namespace qualified, so the claim which will contain roles will be named as "https://quarkus-security.com/roles". Have a look at the ID token content we analyzed in the previous sections, you will see how this claim is represented. + +The `Auth0` Login Flow diagramm should look like this now: + +image::auth0-login-flow.png[Auth0 Login Flow] + +Now you need to add a role such as `admin` to the users registered in the `Auth0` application. + +Create an `admin` role: + +image::auth0-create-role.png[Auth0 Create Role] + +and add it to the registered user: + +image::auth0-add-role-to-user.png[Auth0 Add Role to User] + +Next, update the Quarkus endpoint to require that only users with the `admin` role can access the endpoint: + +[source,java] +---- +package org.acme; + +import org.eclipse.microprofile.jwt.JsonWebToken; + +import io.quarkus.oidc.IdToken; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @Inject + @IdToken + JsonWebToken idToken; + + @GET + @RolesAllowed("admin") + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello, " + idToken.getClaim("name"); + } + + @GET + @Path("post-logout") + @Produces(MediaType.TEXT_PLAIN) + public String postLogout() { + return "You were logged out"; + } +} +---- + +Now, open `http://localhost:8080/hello`, authenticate to `Auth0` and get `403`. The reason you get `403` is because Quarkus OIDC does not know which claim in the `Auth0` tokens represents the roles information, by default a `groups` claim is checked, while `Auth0` tokens are now expected to have an "https://quarkus-security.com/roles" claim. + +We can fix it easily by telling Quarkus OIDC which claim must be checked to enforce RBAC: + +[source,configuration] +---- +quarkus.oidc.auth-server-url=https://dev-3ve0cgn7.us.auth0.com +quarkus.oidc.application-type=hybrid +quarkus.oidc.authentication.scopes=profile +quarkus.oidc.client-id=sKQu1dXjHB6r0sra0Y1YCqBZKWXqCkly +quarkus.oidc.credentials.secret=hjNwChaP2VzIV5fsOtkXebi7ycwGtbD0gGEvX5HMfA8Uu8J72UE4V4GuyekzOj9z + +// Point to the custom roles claim +quarkus.oidc.roles.role-claim-path="https://quarkus-security.com/roles" + +// Logout +quarkus.oidc.end-session-path=v2/logout +quarkus.oidc.logout.post-logout-uri-param=returnTo +quarkus.oidc.logout.extra-params.client_id=${quarkus.oidc.client-id} +quarkus.oidc.logout.path=/logout +quarkus.oidc.logout.post-logout-path=/hello/post-logout +quarkus.http.auth.permission.authenticated.paths=/logout +quarkus.http.auth.permission.authenticated.policy=authenticated +---- + +Here we have pointed out to the custom role with `quarkus.oidc.roles.role-claim-path="https://quarkus-security.com/roles"`. The role name is in double quotes because it is namespace qualified. + +Now, clear the browser cookie cache just in case, open `http://localhost:8080/hello` again, authenticate to `Auth0` and get an expected user name. + +== Access Quarkus with Auth0 access tokens + +So far we have only tested the Quarkus endpoint using the OIDC Authorization code flow. In this flow you use the browser to access the Quarkus endpoint, Quarkus itself manages the authorization code flow, you are redirected to Auth0, login, redirected back to Quarkus, Quarkus completes the flow by exchanging the code for the ID, access, and refresh tokens, and works with the ID token representing the successful user authentication. The access token is not relevant at the moment. As mentioned earlier, in the authorization code flow, Quarkus will only use the access tokens to access downstream services on behalf of the currently authenticated user. + +Lets imagine though our Quarkus endpoint is the reciepient of the `Bearer` access token: it may be the other Quarkus endpoint which is propagating it to this endpoint or it can be SPA which uses the access token to access the Quarkus endpoint. And Quarkus OIDC DevUI SPA which we already used to analyze the ID token fits perfectly for using the access token available to SPA to test the Quarkus endpoint. + +Lets go again to `http://localhost:8080/q/dev`, select the `OpenId Connect` card, login to Auth0, and check the Access token content: + +image::auth0-devui-accesstoken.png[Auth0 DevUI Access Token] + +The access token, as opposed to the ID token we looked at earlier, can not be decoded. This is because the access token is in `JWE` (encrypted) as opposed to `JWS` (signed) format, and since no private or secret key which is required to decrypt the token is availble, its content can not be decoded. From the Quarkus's perspective this access token is an `opaque` one, Quarkus can't use Auth0 signature verification keys to verify it. + +For Quarkus be able to accept such access tokens, one of the two options should be available. +The first option is to introspect the opaque token remotely using a provider's introspection endpoint. Token introspection is typically supported at the OAuth2 level, and since OIDC is built on top of OAuth2, some OIDC providers such as Keycloak support the token introspection as well. However, `Auth0` does not support the token introspection, you can check it by looking at the publicly available Auth0 metadata, add `/.well-known/openid-configuration` to the address of your configured `Auth0` provider, and open the resulting URL, `https://dev-3ve0cgn7.us.auth0.com/.well-known/openid-configuration` in the browser, you will that `Auth0` does not have an introspection endpoint: + +image::auth0-well-known-config.png[Auth0 Well Known Config] + +Therefore the other option, indirect access token verification, where the access token is used to acquire `UserInfo` from `Auth0` can be used to accept and verify opaque Auth0 tokens. This option works because OIDC providers have to verify access tokens before they can issue `UserInfo` and `Auth0` has a `UserInfo` endpoint. + +So lets configure Quarkus to request that the access tokens must be verified by using them to acquite `UserInfo`: + +[source,configuration] +---- +quarkus.oidc.auth-server-url=https://dev-3ve0cgn7.us.auth0.com +quarkus.oidc.application-type=hybrid +quarkus.oidc.authentication.scopes=profile +quarkus.oidc.client-id=sKQu1dXjHB6r0sra0Y1YCqBZKWXqCkly +quarkus.oidc.credentials.secret=hjNwChaP2VzIV5fsOtkXebi7ycwGtbD0gGEvX5HMfA8Uu8J72UE4V4GuyekzOj9z + +// Point to the custom roles claim +quarkus.oidc.roles.role-claim-path="https://quarkus-security.com/roles" + +// Logout +quarkus.oidc.end-session-path=v2/logout +quarkus.oidc.logout.post-logout-uri-param=returnTo +quarkus.oidc.logout.extra-params.client_id=${quarkus.oidc.client-id} +quarkus.oidc.logout.path=/logout +quarkus.oidc.logout.post-logout-path=/hello/post-logout +quarkus.http.auth.permission.authenticated.paths=/logout +quarkus.http.auth.permission.authenticated.policy=authenticated + +// Verify access tokens indirectly by using them to request UserInfo +quarkus.oidc.token.verify-access-token-with-user-info=true +---- + +and update the endpoint code to expect `UserInfo` as opposed to `ID token`: + +[source,java] +---- +package org.acme; + +import io.quarkus.oidc.UserInfo; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @Inject + UserInfo userInfo; + + @GET + @RolesAllowed("admin") + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello, " + userInfo.getName(); + } + + @GET + @Path("post-logout") + @Produces(MediaType.TEXT_PLAIN) + public String postLogout() { + return "You were logged out"; + } +} +---- + +This code will now work both for the Authorization code and Bearer access token flows. + +Let's go to the OIDC Dev UI where we looked at the access token, enter `/hello` as the `Service Address` in the `Test Service` area and press `With Access Token` and you will get `200`: + +image::auth0-devui-test-accesstoken-200.png[Auth0 Dev UI Test Access token]. + +To make sure it does work, update the test endpoint to allow a `user` role only with `@RolesAllowed("user")`. Try to access the endpoint from OIDC Dev UI again, and you will get `403`. + +When verifying the opaque access token indirecly, by using it to request `UserInfo`, Quarkus will use `UserInfo` as the source of the roles information, if any. As it happens, `Auth0` includes the custom role claim we created earlier in the `UserInfo` response as well. + +== Propagate Auth0 access tokens + +Now that we have managed to use OIDC Authorization code flow and ID token as well as Bearer access token to access the Quarkus endpoint, the next typical task is to propagate the current `Auth0` access token to get something from the downstream service on behalf of the currently authenticated user. + +In fact, the last code example, showing the injected `UserInfo`, is a concrete example of the access token propagation, in this case, Quarkus propagates the `Auth0` access token to the `Auth0` `UserInfo` endpoint to acquire `UserInfo`. Quarkus does it without users having to do anything themselves. + +But what about propagating access tokens to some custom services ? It is very easy to achieve in Quarkus, both for the Authorization code and Bearer token flows. All you need to do is to create a Reactive REST Client interface for calling the service requiring a bearer token access and annotate it with `@AccessToken`, for example: + +[source,java] +---- +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; +import io.quarkus.oidc.token.propagation.AccessToken; + +@RegisterRestClient +@AccessToken +@Path("/") +public interface DownstreamServiceExpectingAuth0AccessToken { + + @GET + String getUserName(); +} +---- + +and the access token either arriving to the current endpoint as the `Auth0` bearer access token or acquired by Quarkus after completing the `Auth0` authorization code flow, will be propagated to the target service. This is as easy as it can get. + +== Troubleshooting + +The steps described in this blog post should work exactly as they are described. The only thing you may have to do when trying different steps is to clear the browser cookies. Please get in touch with the Quarkus team for more help. diff --git a/assets/images/posts/oidc-auth0/auth0-add-role-action.png b/assets/images/posts/oidc-auth0/auth0-add-role-action.png new file mode 100644 index 0000000000000000000000000000000000000000..99476ee32dc1f90b71362c64e8dd3f9321b706b6 GIT binary patch literal 20229 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 literal 0 HcmV?d00001 diff --git a/assets/images/posts/oidc-auth0/auth0-advanced-tenant-settings-logout.png b/assets/images/posts/oidc-auth0/auth0-advanced-tenant-settings-logout.png new file mode 100644 index 0000000000000000000000000000000000000000..46f480593f1155c3526cbf3a5858d316e210a94a GIT binary patch literal 52255 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 Uo4W7&uK(0(ehXq!W9;_$KO#I=?EnA( literal 0 HcmV?d00001 diff --git a/assets/images/posts/oidc-auth0/auth0-allowed-callback.png b/assets/images/posts/oidc-auth0/auth0-allowed-callback.png new file mode 100644 index 0000000000000000000000000000000000000000..697373917cb068d233baf177cf9123a0925bf752 GIT binary patch literal 45299 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