Added boolean registration to LoginCredentials
This commit is contained in:
		@@ -19,20 +19,24 @@ public class LoginCredentials implements Serializable {
 | 
			
		||||
 | 
			
		||||
	private final String	name;
 | 
			
		||||
	private final byte[]	passwordHash;
 | 
			
		||||
	private final boolean	registration;
 | 
			
		||||
 | 
			
		||||
	private static final long serialVersionUID = -7395245059059523314L;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Creates an in stance of {@link LoginCredentials}.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param name     the name of the user
 | 
			
		||||
	 * @param password the password of the user (will be converted to a hash)
 | 
			
		||||
	 * @param name         the name of the user
 | 
			
		||||
	 * @param password     the password of the user (will be converted to a hash)
 | 
			
		||||
	 * @param registration signifies that these credentials are used for user
 | 
			
		||||
	 *                     registration instead of user login
 | 
			
		||||
	 * @throws NoSuchAlgorithmException if the algorithm used is unknown
 | 
			
		||||
	 * @since Envoy Common v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public LoginCredentials(String name, char[] password) throws NoSuchAlgorithmException {
 | 
			
		||||
		this.name		= name;
 | 
			
		||||
		passwordHash	= getSha256(toByteArray(password));
 | 
			
		||||
	public LoginCredentials(String name, char[] password, boolean registration) throws NoSuchAlgorithmException {
 | 
			
		||||
		this.name			= name;
 | 
			
		||||
		passwordHash		= getSha256(toByteArray(password));
 | 
			
		||||
		this.registration	= registration;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private byte[] getSha256(byte[] input) throws NoSuchAlgorithmException { return MessageDigest.getInstance("SHA-256").digest(input); }
 | 
			
		||||
@@ -52,7 +56,7 @@ public class LoginCredentials implements Serializable {
 | 
			
		||||
			form.format("LoginCredentials[name=%s,passwordHash=", name);
 | 
			
		||||
			for (byte element : passwordHash)
 | 
			
		||||
				form.format("%02x", element);
 | 
			
		||||
			return form.format("]").toString();
 | 
			
		||||
			return form.format(",registration=%b]", registration).toString();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -67,4 +71,11 @@ public class LoginCredentials implements Serializable {
 | 
			
		||||
	 * @since Envoy Common v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public byte[] getPasswordHash() { return passwordHash; }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return {@code true} if these credentials are used for user registration
 | 
			
		||||
	 *         instead of user login
 | 
			
		||||
	 * @since Envoy Common v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public boolean isRegistration() { return registration; }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user