Added ability to change the password, theoretically on client and server
(needs testing!)
This commit is contained in:
		@@ -0,0 +1,29 @@
 | 
			
		||||
package envoy.server.processors;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
import envoy.event.PasswordChangeRequest;
 | 
			
		||||
import envoy.event.PasswordChangeResult;
 | 
			
		||||
import envoy.server.data.PersistenceManager;
 | 
			
		||||
import envoy.server.net.ObjectWriteProxy;
 | 
			
		||||
import envoy.server.util.PasswordUtil;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Project: <strong>envoy-server-standalone</strong><br>
 | 
			
		||||
 * File: <strong>PasswordChangeRequestProcessor.java</strong><br>
 | 
			
		||||
 * Created: <strong>31.07.2020</strong><br>
 | 
			
		||||
 *
 | 
			
		||||
 * @author Leon Hofmeister
 | 
			
		||||
 * @since Envoy Server v0.2-beta
 | 
			
		||||
 */
 | 
			
		||||
public class PasswordChangeRequestProcessor implements ObjectProcessor<PasswordChangeRequest> {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void process(PasswordChangeRequest event, long socketID, ObjectWriteProxy writeProxy) throws IOException {
 | 
			
		||||
		final var	persistenceManager		= PersistenceManager.getInstance();
 | 
			
		||||
		final var	user					= persistenceManager.getUserByID(event.getID());
 | 
			
		||||
		final var	correctAuthentication	= PasswordUtil.validate(event.getOldPassword(), user.getPasswordHash());
 | 
			
		||||
		if (correctAuthentication) user.setPasswordHash(PasswordUtil.hash(event.get()));
 | 
			
		||||
		writeProxy.write(socketID, new PasswordChangeResult(correctAuthentication));
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user