Packages

class JDBCAuth extends AuthProvider

Factory interface for creating io.vertx.scala.ext.auth.AuthProvider instances that use the Vert.x JDBC client.

By default the hashing strategy is SHA-512. If you're already running in production this is backwards compatible, however for new deployments or security upgrades it is recommended to use the PBKDF2 strategy as it is the current OWASP recommendation for password storage.

Linear Supertypes
AuthProvider, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JDBCAuth
  2. AuthProvider
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JDBCAuth(_asJava: AnyRef)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def asJava: AnyRef
    Definition Classes
    AuthProvider
  6. def authenticate(authInfo: JsonObject, resultHandler: Handler[AsyncResult[User]]): Unit

    Authenticate a user.

    Authenticate a user.

    The first argument is a JSON object containing information for authenticating the user. What this actually contains depends on the specific implementation. In the case of a simple username/password based authentication it is likely to contain a JSON object with the following structure:

      {
        "username": "tim",
        "password": "mypassword"
      `
    
    For other types of authentication it contain different information - for example a JWT token or OAuth bearer token.

    If the user is successfully authenticated a io.vertx.scala.ext.auth.User object is passed to the handler in an io.vertx.scala.core.AsyncResult. The user object can then be used for authorisation. * @param authInfo The auth information

    resultHandler

    The result handler

    Definition Classes
    AuthProvider
  7. def authenticateFuture(authInfo: JsonObject): Future[User]

    Like authenticate but returns a scala.concurrent.Future instead of taking an AsyncResultHandler.

    Like authenticate but returns a scala.concurrent.Future instead of taking an AsyncResultHandler.

    Definition Classes
    AuthProvider
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def computeHash(password: String, salt: String, version: Int): String

    Compute the hashed password given the unhashed password and the salt

    Compute the hashed password given the unhashed password and the salt

    The implementation relays to the JDBCHashStrategy provided. * @param password the unhashed password

    salt

    the salt

    version

    the nonce version to use

    returns

    the hashed password

  10. def computeHash(password: String, salt: String): String

    Compute the hashed password given the unhashed password and the salt without nonce

    Compute the hashed password given the unhashed password and the salt without nonce

    The implementation relays to the JDBCHashStrategy provided. * @param password the unhashed password

    salt

    the salt

    returns

    the hashed password

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def generateSalt(): String

    Compute a salt string.

    Compute a salt string.

    The implementation relays to the JDBCHashStrategy provided. * @return a non null salt value

  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def setAuthenticationQuery(authenticationQuery: String): JDBCAuth

    Set the authentication query to use.

    Set the authentication query to use. Use this if you want to override the default authentication query. * @param authenticationQuery the authentication query

    returns

    a reference to this for fluency

  22. def setNonces(nonces: JsonArray): JDBCAuth

    Provide a application configuration level on hash nonce's as a ordered list of nonces where each position corresponds to a version.

    Provide a application configuration level on hash nonce's as a ordered list of nonces where each position corresponds to a version.

    The nonces are supposed not to be stored in the underlying jdbc storage but to be provided as a application configuration. The idea is to add one extra variable to the hash function in order to make breaking the passwords using rainbow tables or precomputed hashes harder. Leaving the attacker only with the brute force approach.

    The implementation relays to the JDBCHashStrategy provided. * @param nonces a List of non null Strings.

    returns

    a reference to this for fluency

  23. def setPermissionsQuery(permissionsQuery: String): JDBCAuth

    Set the permissions query to use.

    Set the permissions query to use. Use this if you want to override the default permissions query. * @param permissionsQuery the permissions query

    returns

    a reference to this for fluency

  24. def setRolePrefix(rolePrefix: String): JDBCAuth

    Set the role prefix to distinguish from permissions when checking for isPermitted requests.

    Set the role prefix to distinguish from permissions when checking for isPermitted requests. * @param rolePrefix a Prefix e.g.: "role:"

    returns

    a reference to this for fluency

  25. def setRolesQuery(rolesQuery: String): JDBCAuth

    Set the roles query to use.

    Set the roles query to use. Use this if you want to override the default roles query. * @param rolesQuery the roles query

    returns

    a reference to this for fluency

  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AuthProvider

Inherited from AnyRef

Inherited from Any

Ungrouped