vertx / io.vertx.reactivex.ext.auth.jdbc / JDBCAuth

JDBCAuth

open class JDBCAuth : AuthProvider

Factory interface for creating io.vertx.reactivex.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. NOTE: This class has been automatically generated from the io.vertx.ext.auth.jdbc.JDBCAuth non RX-ified interface using Vert.x codegen.

Constructors

<init>

JDBCAuth(delegate: JDBCAuth)

Properties

__TYPE_ARG

static val __TYPE_ARG: TypeArg<JDBCAuth>

Functions

computeHash

open fun computeHash(password: String, salt: String): String

Compute the hashed password given the unhashed password and the salt without nonce The implementation relays to the JDBCHashStrategy provided.

open fun computeHash(password: String, salt: String, version: Int): String

Compute the hashed password given the unhashed password and the salt The implementation relays to the JDBCHashStrategy provided.

create

open static fun create(vertx: Vertx, client: JDBCClient): JDBCAuth

Create a JDBC auth provider implementation

equals

open fun equals(other: Any?): Boolean

generateSalt

open fun generateSalt(): String

Compute a salt string. The implementation relays to the JDBCHashStrategy provided.

getDelegate

open fun getDelegate(): JDBCAuth

hashCode

open fun hashCode(): Int

newInstance

open static fun newInstance(arg: JDBCAuth): JDBCAuth

setAuthenticationQuery

open fun setAuthenticationQuery(authenticationQuery: String): JDBCAuth

Set the authentication query to use. Use this if you want to override the default authentication query.

setNonces

open fun 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. 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.

setPermissionsQuery

open fun setPermissionsQuery(permissionsQuery: String): JDBCAuth

Set the permissions query to use. Use this if you want to override the default permissions query.

setRolePrefix

open fun setRolePrefix(rolePrefix: String): JDBCAuth

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

setRolesQuery

open fun setRolesQuery(rolesQuery: String): JDBCAuth

Set the roles query to use. Use this if you want to override the default roles query.

toString

open fun toString(): String