Class RenardeJWTAuthMechanism

java.lang.Object
io.quarkus.smallrye.jwt.runtime.auth.JWTAuthMechanism
io.quarkiverse.renarde.util.RenardeJWTAuthMechanism
All Implemented Interfaces:
io.quarkus.vertx.http.runtime.security.HttpAuthenticationMechanism

@Priority(2000) @ApplicationScoped public class RenardeJWTAuthMechanism extends io.quarkus.smallrye.jwt.runtime.auth.JWTAuthMechanism
This class replaces the original JWTAuthMechanism with a lower priority, so that other interactive auth such as WebAuthn, OIDC or Form get a chance to issue a redirect challenge, when this dumbass can only issue a 401, and since the auth mechanisms are in random order, we'd sometimes get a 401 and sometimes a proper redirect. It now issues a redirect, but stays in lower priority.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.quarkus.vertx.http.runtime.security.HttpAuthenticationMechanism

    io.quarkus.vertx.http.runtime.security.HttpAuthenticationMechanism.ChallengeSender
  • Field Summary

    Fields inherited from class io.quarkus.smallrye.jwt.runtime.auth.JWTAuthMechanism

    AUTHORIZATION_HEADER, BEARER, COOKIE_HEADER

    Fields inherited from interface io.quarkus.vertx.http.runtime.security.HttpAuthenticationMechanism

    DEFAULT_PRIORITY
  • Constructor Summary

    Constructors
    Constructor
    Description
    RenardeJWTAuthMechanism(io.quarkus.smallrye.jwt.runtime.auth.SmallRyeJwtConfig config)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.smallrye.mutiny.Uni<io.quarkus.vertx.http.runtime.security.ChallengeData>
    getChallenge(io.vertx.ext.web.RoutingContext context)
     
    int
     
    protected void
    storeInitialLocation(io.vertx.ext.web.RoutingContext exchange)
     

    Methods inherited from class io.quarkus.smallrye.jwt.runtime.auth.JWTAuthMechanism

    authenticate, getCredentialTransport, getCredentialTypes

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.quarkus.vertx.http.runtime.security.HttpAuthenticationMechanism

    getCredentialTransport, sendChallenge
  • Constructor Details

    • RenardeJWTAuthMechanism

      public RenardeJWTAuthMechanism(io.quarkus.smallrye.jwt.runtime.auth.SmallRyeJwtConfig config)
  • Method Details

    • getPriority

      public int getPriority()
    • storeInitialLocation

      protected void storeInitialLocation(io.vertx.ext.web.RoutingContext exchange)
    • getChallenge

      public io.smallrye.mutiny.Uni<io.quarkus.vertx.http.runtime.security.ChallengeData> getChallenge(io.vertx.ext.web.RoutingContext context)
      Specified by:
      getChallenge in interface io.quarkus.vertx.http.runtime.security.HttpAuthenticationMechanism
      Overrides:
      getChallenge in class io.quarkus.smallrye.jwt.runtime.auth.JWTAuthMechanism