diff --git a/Launcher/source/helper/SecurityHelper.java b/Launcher/source/helper/SecurityHelper.java index 3095b59..a6f5f6a 100644 --- a/Launcher/source/helper/SecurityHelper.java +++ b/Launcher/source/helper/SecurityHelper.java @@ -49,6 +49,8 @@ public static final String CERTIFICATE_DIGEST = "b87c079e3bf6e709860e05e283678c857b6a27916c2ba280a212f78f1a2ec20a"; @LauncherAPI public static final String HEX = "0123456789abcdef"; + @LauncherAPI + public static final String JWT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_."; // Random generator constants private static final char[] VOWELS = {'e', 'u', 'i', 'o', 'a'}; @@ -200,12 +202,7 @@ public static boolean isValidToken(CharSequence token) { // return token.length() == TOKEN_STRING_LENGTH && token.chars().allMatch(ch -> HEX.indexOf(ch) >= 0); - return token.chars().allMatch(ch ->{ - if(HEX.indexOf(ch) >= 0) - return true; - System.err.printf("Char '%s' isInvalid!\n",ch); - return false; - }); + return token.chars().allMatch(ch -> JWT.indexOf(ch) >= 0); } @LauncherAPI diff --git a/Launcher/source/request/auth/AuthRequest.java b/Launcher/source/request/auth/AuthRequest.java index aa560ed..10819dd 100644 --- a/Launcher/source/request/auth/AuthRequest.java +++ b/Launcher/source/request/auth/AuthRequest.java @@ -48,7 +48,7 @@ readError(input); PlayerProfile pp = new PlayerProfile(input); int jwt_length = input.readInt(); - String accessToken = input.readASCII(jwt_length); + String accessToken = input.readASCII(-jwt_length); return new Result(pp, accessToken); }