diff --git a/src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java b/src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java index 078779dd..0fb5f26c 100755 --- a/src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java +++ b/src/main/java/eu/crushedpixel/replaymod/api/client/ApiClient.java @@ -39,14 +39,14 @@ public class ApiClient { return auth; } - public boolean checkAuthkey(String auth) { + public AuthConfirmation checkAuthkey(String auth) { try { QueryBuilder builder = new QueryBuilder(ApiMethods.check_authkey); builder.put("auth", auth); - Success succ = invokeAndReturn(builder, Success.class); - return succ.isSuccess(); + AuthConfirmation conf = invokeAndReturn(builder, AuthConfirmation.class); + return conf; } catch(Exception e) { - return false; + return null; } } diff --git a/src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthConfirmation.java b/src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthConfirmation.java new file mode 100644 index 00000000..238703c7 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/api/client/holders/AuthConfirmation.java @@ -0,0 +1,10 @@ +package eu.crushedpixel.replaymod.api.client.holders; + +public class AuthConfirmation { + private String username; + private int id; + + public String getUsername() { + return username; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java b/src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java index b5048933..4fa95511 100755 --- a/src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/online/authentication/AuthenticationHandler.java @@ -3,6 +3,7 @@ package eu.crushedpixel.replaymod.online.authentication; import eu.crushedpixel.replaymod.ReplayMod; import eu.crushedpixel.replaymod.api.client.ApiClient; import eu.crushedpixel.replaymod.api.client.ApiException; +import eu.crushedpixel.replaymod.api.client.holders.AuthConfirmation; import eu.crushedpixel.replaymod.api.client.holders.AuthKey; import net.minecraftforge.common.config.Property; @@ -17,6 +18,7 @@ public class AuthenticationHandler { private static final ApiClient apiClient = new ApiClient(); private static String authkey = null; + private static String username = null; public static boolean isAuthenticated() { return authkey != null; @@ -25,18 +27,20 @@ public class AuthenticationHandler { public static String getKey() { return authkey; } + public static String getUsername() { return username; } public static boolean hasDonated(String uuid) throws IOException, ApiException { return apiClient.hasDonated(uuid); } - public static void register(String username, String mail, String password) throws IOException, ApiException { - AuthKey auth = apiClient.register(username, mail, password); + public static void register(String usrname, String mail, String password) throws IOException, ApiException { + AuthKey auth = apiClient.register(usrname, mail, password); + username = usrname; authkey = auth.getAuthkey(); saveAuthkey(authkey); } - public static boolean loadAuthkeyFromConfig() { + public static void loadAuthkeyFromConfig() { Property p = ReplayMod.instance.config.get("authkey", "authkey", "null"); String key = null; @@ -45,20 +49,21 @@ public class AuthenticationHandler { } if(key != null) { - boolean succ = apiClient.checkAuthkey(key); - if(succ) { + AuthConfirmation conf = apiClient.checkAuthkey(key); + if(conf != null) { authkey = key; + username = conf.getUsername(); } else { saveAuthkey("null"); + username = null; } - return succ; } - return false; } - public static int authenticate(String username, String password) { + public static int authenticate(String usrname, String password) { try { - authkey = ReplayMod.apiClient.getLogin(username, password).getAuthkey(); + authkey = ReplayMod.apiClient.getLogin(usrname, password).getAuthkey(); + username = usrname; saveAuthkey(authkey); return SUCCESS; } catch(ApiException e) { @@ -72,6 +77,7 @@ public class AuthenticationHandler { try { ReplayMod.apiClient.logout(authkey); authkey = null; + username = null; saveAuthkey("null"); return SUCCESS; } catch(ApiException e) { diff --git a/src/main/resources/assets/replaymod/lang/en_US.lang b/src/main/resources/assets/replaymod/lang/en_US.lang index 15f253c5..7a6cc3ec 100644 --- a/src/main/resources/assets/replaymod/lang/en_US.lang +++ b/src/main/resources/assets/replaymod/lang/en_US.lang @@ -22,6 +22,7 @@ replaymod.api.zippingerror=An error occured while zipping the language files replaymod.api.usernameexists=This username is already taken replaymod.api.mailexists=This Email address is already linked to an account replaymod.api.invalidmail=Invalid Email Address +replaymod.api.nopermissions=You don't have permission to do this #All of the chat messages