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