Added boolean registration to LoginCredentials
This commit is contained in:
		@@ -24,5 +24,10 @@
 | 
				
			|||||||
			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
 | 
								<attribute name="org.eclipse.jst.component.nondependency" value=""/>
 | 
				
			||||||
		</attributes>
 | 
							</attributes>
 | 
				
			||||||
	</classpathentry>
 | 
						</classpathentry>
 | 
				
			||||||
 | 
						<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
 | 
				
			||||||
 | 
							<attributes>
 | 
				
			||||||
 | 
								<attribute name="maven.pomderived" value="true"/>
 | 
				
			||||||
 | 
							</attributes>
 | 
				
			||||||
 | 
						</classpathentry>
 | 
				
			||||||
	<classpathentry kind="output" path="target/classes"/>
 | 
						<classpathentry kind="output" path="target/classes"/>
 | 
				
			||||||
</classpath>
 | 
					</classpath>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
eclipse.preferences.version=1
 | 
					eclipse.preferences.version=1
 | 
				
			||||||
encoding//src/main/java=UTF-8
 | 
					encoding//src/main/java=UTF-8
 | 
				
			||||||
 | 
					encoding//src/main/resources=UTF-8
 | 
				
			||||||
encoding//src/test/java=UTF-8
 | 
					encoding//src/test/java=UTF-8
 | 
				
			||||||
encoding//src/test/resources=UTF-8
 | 
					encoding//src/test/resources=UTF-8
 | 
				
			||||||
encoding/<project>=UTF-8
 | 
					encoding/<project>=UTF-8
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,17 +1,22 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
 | 
					<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
 | 
				
			||||||
                
 | 
					                    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    <wb-module deploy-name="envoy-common">
 | 
					    <wb-module deploy-name="envoy-common">
 | 
				
			||||||
                                
 | 
					                                        
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        <wb-resource deploy-path="/" source-path="/src/main/java"/>
 | 
					        <wb-resource deploy-path="/" source-path="/src/main/java"/>
 | 
				
			||||||
                            
 | 
					        <wb-resource deploy-path="/" source-path="/src/main/resources"/>
 | 
				
			||||||
 | 
					                                    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    </wb-module>
 | 
					    </wb-module>
 | 
				
			||||||
            
 | 
					                
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</project-modules>
 | 
					</project-modules>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,20 +19,24 @@ public class LoginCredentials implements Serializable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	private final String	name;
 | 
						private final String	name;
 | 
				
			||||||
	private final byte[]	passwordHash;
 | 
						private final byte[]	passwordHash;
 | 
				
			||||||
 | 
						private final boolean	registration;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static final long serialVersionUID = -7395245059059523314L;
 | 
						private static final long serialVersionUID = -7395245059059523314L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Creates an in stance of {@link LoginCredentials}.
 | 
						 * Creates an in stance of {@link LoginCredentials}.
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
	 * @param name     the name of the user
 | 
						 * @param name         the name of the user
 | 
				
			||||||
	 * @param password the password of the user (will be converted to a hash)
 | 
						 * @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
 | 
						 * @throws NoSuchAlgorithmException if the algorithm used is unknown
 | 
				
			||||||
	 * @since Envoy Common v0.2-alpha
 | 
						 * @since Envoy Common v0.2-alpha
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public LoginCredentials(String name, char[] password) throws NoSuchAlgorithmException {
 | 
						public LoginCredentials(String name, char[] password, boolean registration) throws NoSuchAlgorithmException {
 | 
				
			||||||
		this.name		= name;
 | 
							this.name			= name;
 | 
				
			||||||
		passwordHash	= getSha256(toByteArray(password));
 | 
							passwordHash		= getSha256(toByteArray(password));
 | 
				
			||||||
 | 
							this.registration	= registration;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private byte[] getSha256(byte[] input) throws NoSuchAlgorithmException { return MessageDigest.getInstance("SHA-256").digest(input); }
 | 
						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);
 | 
								form.format("LoginCredentials[name=%s,passwordHash=", name);
 | 
				
			||||||
			for (byte element : passwordHash)
 | 
								for (byte element : passwordHash)
 | 
				
			||||||
				form.format("%02x", element);
 | 
									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
 | 
						 * @since Envoy Common v0.2-alpha
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public byte[] getPasswordHash() { return passwordHash; }
 | 
						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