vertx-lang-scala-docs_2.12 3.9.1 API < Back
 

# Packages

-  package root
  Definition Classes
    root
-  package io
  Definition Classes
    root
-  package vertx
  Definition Classes
    io
-  package scala
  Definition Classes
    vertx
-  package ext
  Definition Classes
    scala
-  package auth
  Definition Classes
    ext
-  package jdbc
  Definition Classes
    auth
- JDBCAuth
- JDBCAuthOptions
- JDBCHashStrategy

c

io.vertx.scala.ext.auth.jdbc

# JDBCAuth 

###
Companion object JDBCAuth

#### 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