Package io.vertx.rxjava.ext.auth.jdbc
Class JDBCAuth
- java.lang.Object
-
- io.vertx.rxjava.ext.auth.authentication.AuthenticationProvider
-
- io.vertx.rxjava.ext.auth.AuthProvider
-
- io.vertx.rxjava.ext.auth.jdbc.JDBCAuth
-
public class JDBCAuth extends AuthProvider
Factory interface for creatingAuthenticationProviderinstances 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 theoriginalnon RX-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static TypeArg<JDBCAuth>__TYPE_ARGstatic StringDEFAULT_AUTHENTICATE_QUERYThe default query to be used for authenticationstatic StringDEFAULT_PERMISSIONS_QUERYThe default query to retrieve all permissions for the rolestatic StringDEFAULT_ROLE_PREFIXThe default role prefixstatic StringDEFAULT_ROLES_QUERYThe default query to retrieve all roles for the user
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description StringcomputeHash(String password, String salt)Deprecated.StringcomputeHash(String password, String salt, int version)Deprecated.static JDBCAuthcreate(Vertx vertx, JDBCClient client)Deprecated.booleanequals(Object o)StringgenerateSalt()Deprecated.JDBCAuthgetDelegate()inthashCode()static JDBCAuthnewInstance(JDBCAuth arg)JDBCAuthsetAuthenticationQuery(String authenticationQuery)Deprecated.JDBCAuthsetNonces(JsonArray nonces)Deprecated.JDBCAuthsetPermissionsQuery(String permissionsQuery)Deprecated.JDBCAuthsetRolePrefix(String rolePrefix)Deprecated.JDBCAuthsetRolesQuery(String rolesQuery)Deprecated.StringtoString()-
Methods inherited from class io.vertx.rxjava.ext.auth.AuthProvider
newInstance
-
Methods inherited from class io.vertx.rxjava.ext.auth.authentication.AuthenticationProvider
authenticate, authenticate, authenticate, authenticate, newInstance, rxAuthenticate, rxAuthenticate
-
-
-
-
Field Detail
-
DEFAULT_AUTHENTICATE_QUERY
public static final String DEFAULT_AUTHENTICATE_QUERY
The default query to be used for authentication- See Also:
- Constant Field Values
-
DEFAULT_ROLES_QUERY
public static final String DEFAULT_ROLES_QUERY
The default query to retrieve all roles for the user- See Also:
- Constant Field Values
-
DEFAULT_PERMISSIONS_QUERY
public static final String DEFAULT_PERMISSIONS_QUERY
The default query to retrieve all permissions for the role- See Also:
- Constant Field Values
-
DEFAULT_ROLE_PREFIX
public static final String DEFAULT_ROLE_PREFIX
The default role prefix- See Also:
- Constant Field Values
-
-
Method Detail
-
toString
public String toString()
- Overrides:
toStringin classAuthProvider
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classAuthProvider
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAuthProvider
-
getDelegate
public JDBCAuth getDelegate()
- Overrides:
getDelegatein classAuthProvider
-
create
@Deprecated public static JDBCAuth create(Vertx vertx, JDBCClient client)
Deprecated.Create a JDBC auth provider implementation- Parameters:
vertx-client- the JDBC client instance- Returns:
- the auth provider
-
setAuthenticationQuery
@Deprecated public JDBCAuth setAuthenticationQuery(String authenticationQuery)
Deprecated.Set the authentication query to use. Use this if you want to override the default authentication query.- Parameters:
authenticationQuery- the authentication query- Returns:
- a reference to this for fluency
-
setRolesQuery
@Deprecated public JDBCAuth setRolesQuery(String rolesQuery)
Deprecated.Set the roles query to use. Use this if you want to override the default roles query.- Parameters:
rolesQuery- the roles query- Returns:
- a reference to this for fluency
-
setPermissionsQuery
@Deprecated public JDBCAuth setPermissionsQuery(String permissionsQuery)
Deprecated.Set the permissions query to use. Use this if you want to override the default permissions query.- Parameters:
permissionsQuery- the permissions query- Returns:
- a reference to this for fluency
-
setRolePrefix
@Deprecated public JDBCAuth setRolePrefix(String rolePrefix)
Deprecated.Set the role prefix to distinguish from permissions when checking for isPermitted requests.- Parameters:
rolePrefix- a Prefix e.g.: "role:"- Returns:
- a reference to this for fluency
-
computeHash
@Deprecated public String computeHash(String password, String salt)
Deprecated.Compute the hashed password given the unhashed password and the salt without nonce The implementation relays to the JDBCHashStrategy provided.- Parameters:
password- the unhashed passwordsalt- the salt- Returns:
- the hashed password
-
computeHash
@Deprecated public String computeHash(String password, String salt, int version)
Deprecated.Compute the hashed password given the unhashed password and the salt The implementation relays to the JDBCHashStrategy provided.- Parameters:
password- the unhashed passwordsalt- the saltversion- the nonce version to use- Returns:
- the hashed password
-
generateSalt
@Deprecated public String generateSalt()
Deprecated.Compute a salt string. The implementation relays to the JDBCHashStrategy provided.- Returns:
- a non null salt value
-
setNonces
@Deprecated public JDBCAuth setNonces(JsonArray nonces)
Deprecated.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.- Parameters:
nonces- a List of non null Strings.- Returns:
- a reference to this for fluency
-
-