Class SimpleAuthenticationHandler

java.lang.Object
io.vertx.mutiny.ext.web.handler.SimpleAuthenticationHandler
All Implemented Interfaces:
MutinyDelegate, io.vertx.core.Handler<RoutingContext>, AuthenticationHandler, Consumer<RoutingContext>

public class SimpleAuthenticationHandler extends Object implements AuthenticationHandler, io.vertx.core.Handler<RoutingContext>, Consumer<RoutingContext>, MutinyDelegate
A user customizable authentication handler.

An auth handler allows your application to provide authentication support. The handler is not fully functional without a authentication function. This function takes the RoutingContext as input and returns a Future. The future should return a non null user object. In the authenticate(Function) you have full control on the request, so all operations like redirect, next, fail are allowed. There are some rules that need to be followed in order to allow this handler to properly interop with ChainAuthHandler.

NOTE: This class has been automatically generated from the original non Mutiny-ified interface.

Author:
Paulo Lopes
See Also:
  • SimpleAuthenticationHandler
  • Field Details

  • Constructor Details

    • SimpleAuthenticationHandler

      public SimpleAuthenticationHandler(io.vertx.ext.web.handler.SimpleAuthenticationHandler delegate)
      Create a new instance of SimpleAuthenticationHandler delegating to the given (non-null) instance of SimpleAuthenticationHandler.
    • SimpleAuthenticationHandler

      public SimpleAuthenticationHandler(Object delegate)
  • Method Details

    • accept

      public void accept(RoutingContext item)
      Handle an item. This method is generated from the original method."
      Specified by:
      accept in interface AuthenticationHandler
      Specified by:
      accept in interface Consumer<RoutingContext>
    • handle

      public void handle(RoutingContext item)
      Handle an item. This method is generated from the original method."
      Specified by:
      handle in interface AuthenticationHandler
      Specified by:
      handle in interface io.vertx.core.Handler<RoutingContext>
    • getDelegate

      public io.vertx.ext.web.handler.SimpleAuthenticationHandler getDelegate()
      Get the delegate instance.

      This method returns the instance on which this shim is delegating the calls. And so, give you access to the bare API.

      Specified by:
      getDelegate in interface AuthenticationHandler
      Specified by:
      getDelegate in interface MutinyDelegate
      Returns:
      the delegate instance
    • create

      public static SimpleAuthenticationHandler create()
      Creates a new instance of the simple authentication handler.
      Returns:
      a new instance.
    • authenticate

      public SimpleAuthenticationHandler authenticate(Function<RoutingContext,io.smallrye.mutiny.Uni<User>> authenticationFunction)
      This function will allow you to perform authentication the way you intended to. The process should be self explanatory, for example if the request contains a given property completing the function with a non null User object is enough to allow the handler to continue. In order to signal errors, you should not call RoutingContext.fail(int) or RoutingContext.fail(Throwable). Errors should be signaled using the HttpException type. Any other kind of errors will be wrapped as a 401 error. For example forbidden access should be signaled with: new HttpException(403). This is required when working with ChainAuthHandler. By using exceptions to signal failures instead of immediately terminating the request, it allows the chain to proceed to the next handler if needed.
      Parameters:
      authenticationFunction - the authentication function.
      Returns:
      self
    • newInstance

      public static SimpleAuthenticationHandler newInstance(io.vertx.ext.web.handler.SimpleAuthenticationHandler delegate)
      Creates a new instance of the SimpleAuthenticationHandler.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object