diff --git a/src/buttondevteam/website/WebUser.java b/src/buttondevteam/website/WebUser.java index ad95eac..7162221 100644 --- a/src/buttondevteam/website/WebUser.java +++ b/src/buttondevteam/website/WebUser.java @@ -1,11 +1,11 @@ package buttondevteam.website; -import java.util.UUID; - import buttondevteam.lib.player.ChromaGamerBase; import buttondevteam.lib.player.PlayerData; import buttondevteam.lib.player.UserClass; +import java.util.UUID; + @UserClass(foldername = "web") public class WebUser extends ChromaGamerBase { private UUID uuid; @@ -16,7 +16,7 @@ public class WebUser extends ChromaGamerBase { return uuid; } - public PlayerData sessionID() { - return data(new UUID(0, 0)); //It's used with toString() directly, so can't be null + public PlayerData sessionID() { + return data(null); } } diff --git a/src/buttondevteam/website/io/Cookies.java b/src/buttondevteam/website/io/Cookies.java index 089cc67..2c5287e 100644 --- a/src/buttondevteam/website/io/Cookies.java +++ b/src/buttondevteam/website/io/Cookies.java @@ -33,8 +33,8 @@ public class Cookies extends HashMap { public void AddHeaders(HttpExchange exchange) { for (Entry item : entrySet()) exchange.getResponseHeaders().add("Set-Cookie", - item.getKey() + "=" + item.getValue().getValue() + "; expires=" + expiretime); - exchange.getResponseHeaders().add("Set-Cookie", "expiretime=" + expiretime + "; expires=" + expiretime); + item.getKey() + "=" + item.getValue().getValue() + "; expires=" + expiretime + "; Domain=figytuna.com"); //chromagaming.figytuna.com too (commented so that I can find it later) - server.figytuna.com + exchange.getResponseHeaders().add("Set-Cookie", "expiretime=" + expiretime + "; expires=" + expiretime + "; Domain=figytuna.com"); //TODO: Fix header stuff } public Cookies add(Cookie cookie) { diff --git a/src/buttondevteam/website/io/IOHelper.java b/src/buttondevteam/website/io/IOHelper.java index 0b49bad..b3eff1d 100644 --- a/src/buttondevteam/website/io/IOHelper.java +++ b/src/buttondevteam/website/io/IOHelper.java @@ -32,7 +32,7 @@ public class IOHelper { public static void SendResponse(int code, String content, HttpExchange exchange) throws IOException { if (exchange.getRequestMethod().equalsIgnoreCase("HEAD")) { exchange.sendResponseHeaders(code, -1); // -1 indicates no data - exchange.getResponseBody().close(); + exchange.getResponseBody().close(); //TODO: Response headers not sent yet <-- return; } try (BufferedOutputStream out = new BufferedOutputStream(exchange.getResponseBody())) { @@ -86,15 +86,15 @@ public class IOHelper { */ public static void LoginUser(HttpExchange exchange, WebUser user) { Bukkit.getLogger().fine("Logging in user: " + user); - user.sessionID().set(UUID.randomUUID()); + user.sessionID().set(UUID.randomUUID().toString()); user.save(); new Cookies(2).add(new Cookie("user_id", user.getUUID() + "")) - .add(new Cookie("session_id", user.sessionID().get().toString())).AddHeaders(exchange); + .add(new Cookie("session_id", user.sessionID().get())).AddHeaders(exchange); Bukkit.getLogger().fine("Logged in user."); } public static void LogoutUser(HttpExchange exchange, WebUser user) { - user.sessionID().set(new UUID(0, 0)); + user.sessionID().set(null); user.save(); SendLogoutHeaders(exchange); } @@ -150,7 +150,7 @@ public class IOHelper { return null; WebUser user = ChromaGamerBase.getUser(cookies.get("user_id").getValue(), WebUser.class); if (user != null && cookies.get("session_id") != null - && cookies.get("session_id").getValue().equals(user.sessionID().get().toString())) { + && cookies.get("session_id").getValue().equals(user.sessionID().get())) { if (cookies.getExpireTimeParsed().minusYears(1).isBefore(ZonedDateTime.now(ZoneId.of("GMT")))) LoginUser(exchange, user); return user;