Add changepassword to Bungee Hook
This commit is contained in:
parent
1d21333c94
commit
57a22c101b
@ -47,7 +47,7 @@ public class BungeeCordMessage implements PluginMessageListener {
|
|||||||
}
|
}
|
||||||
if (subChannel.equalsIgnoreCase("AuthMe")) {
|
if (subChannel.equalsIgnoreCase("AuthMe")) {
|
||||||
String str = in.readUTF();
|
String str = in.readUTF();
|
||||||
String[] args = str.split(";");
|
final String[] args = str.split(";");
|
||||||
final String act = args[0];
|
final String act = args[0];
|
||||||
final String name = args[1];
|
final String name = args[1];
|
||||||
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
||||||
@ -71,6 +71,14 @@ public class BungeeCordMessage implements PluginMessageListener {
|
|||||||
ConsoleLogger.info("Player " + auth.getNickname()
|
ConsoleLogger.info("Player " + auth.getNickname()
|
||||||
+ " has registered out from one of your server!");
|
+ " has registered out from one of your server!");
|
||||||
}
|
}
|
||||||
|
else if ("changepassword".equals(act)) {
|
||||||
|
final String password = args[2];
|
||||||
|
auth.setHash(password);
|
||||||
|
if (args.length == 4)
|
||||||
|
auth.setSalt(args[3]);
|
||||||
|
PlayerCache.getInstance().updatePlayer(auth);
|
||||||
|
plugin.database.updatePassword(auth);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -10,6 +10,9 @@ import fr.xephi.authme.output.Messages;
|
|||||||
import fr.xephi.authme.settings.Settings;
|
import fr.xephi.authme.settings.Settings;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import com.google.common.io.ByteArrayDataOutput;
|
||||||
|
import com.google.common.io.ByteStreams;
|
||||||
|
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -40,7 +43,7 @@ public class ChangePasswordTask implements Runnable {
|
|||||||
public void run() {
|
public void run() {
|
||||||
Messages m = plugin.getMessages();
|
Messages m = plugin.getMessages();
|
||||||
try {
|
try {
|
||||||
String name = player.getName().toLowerCase();
|
final String name = player.getName().toLowerCase();
|
||||||
String hashNew = PasswordSecurity.getHash(Settings.getPasswordHash, newPassword, name);
|
String hashNew = PasswordSecurity.getHash(Settings.getPasswordHash, newPassword, name);
|
||||||
PlayerAuth auth = PlayerCache.getInstance().getAuth(name);
|
PlayerAuth auth = PlayerCache.getInstance().getAuth(name);
|
||||||
if (PasswordSecurity.comparePasswordWithHash(oldPassword, auth.getHash(), player.getName())) {
|
if (PasswordSecurity.comparePasswordWithHash(oldPassword, auth.getHash(), player.getName())) {
|
||||||
@ -58,6 +61,23 @@ public class ChangePasswordTask implements Runnable {
|
|||||||
PlayerCache.getInstance().updatePlayer(auth);
|
PlayerCache.getInstance().updatePlayer(auth);
|
||||||
m.send(player, MessageKey.PASSWORD_CHANGED_SUCCESS);
|
m.send(player, MessageKey.PASSWORD_CHANGED_SUCCESS);
|
||||||
ConsoleLogger.info(player.getName() + " changed his password");
|
ConsoleLogger.info(player.getName() + " changed his password");
|
||||||
|
if (Settings.bungee)
|
||||||
|
{
|
||||||
|
final String hash = auth.getHash();
|
||||||
|
final String salt = auth.getSalt();
|
||||||
|
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
ByteArrayDataOutput out = ByteStreams.newDataOutput();
|
||||||
|
out.writeUTF("Forward");
|
||||||
|
out.writeUTF("ALL");
|
||||||
|
out.writeUTF("AuthMe");
|
||||||
|
out.writeUTF("changepassword;" + name + ";" + hash + ";" + salt);
|
||||||
|
player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
m.send(player, MessageKey.WRONG_PASSWORD);
|
m.send(player, MessageKey.WRONG_PASSWORD);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user