Uploaded image for project: 'Quarkus'
  1. Quarkus
  2. QUARKUS-5665

Support OidcProviderClient injection and token revocation

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • team/eng
    • None

      Fixes #44157.

      @sschellh asked about an option for the user code be able to revoke tokens (I guess, either access or refresh tokens or both) when one of the Logout events is observed.
      It reminded me that in Renarde, for the Apple authentication, this is also a typical requirement.

      So this PR:

      • makes `OidcProviderClient` which is used by `quarkus-oidc`, both injectable and also accessible as a `SecurityIdentity` attribute
      • `SecurityEvent` listeners can react to logout, and other events like authentication failure, by using `OidcProviderClient` to revoke tokens if they need to - test is provided
      • Or, the user code can use an `injected` `OidcProviderClient` to revoke tokens or do additional actions like token introspection. For example, Renarde code can have `@Inject OidcSession session;` , logout, and then follow up with revoking tokens.

      The only remaining thing that I believe should be done is that `OidcProviderClient` should become an API interface, with the runtime subpackage providing an implementation

              Unassigned Unassigned
              blafond Barry LaFond
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: