diff --git a/launcher/src/main/java/com/skcraft/launcher/auth/microsoft/XboxTokenAuthorizer.java b/launcher/src/main/java/com/skcraft/launcher/auth/microsoft/XboxTokenAuthorizer.java index 092ead5..8798b87 100644 --- a/launcher/src/main/java/com/skcraft/launcher/auth/microsoft/XboxTokenAuthorizer.java +++ b/launcher/src/main/java/com/skcraft/launcher/auth/microsoft/XboxTokenAuthorizer.java @@ -40,7 +40,7 @@ .expectResponseCodeOr(200, (req) -> { XstsError xstsError = req.returnContent().asJson(XstsError.class); - return new AuthenticationException(xstsError.getMessage(), getErrorMessage(xstsError.getXErr())); + return new AuthenticationException(xstsError.getMessage(), getErrorMessage(xstsError)); }) .returnContent() .asJson(XboxAuthResponse.class); @@ -48,13 +48,17 @@ return new XboxAuthorization(xstsResponse.getToken(), xstsResponse.getUhs()); } - private static String getErrorMessage(long xboxErrorCode) { + private static String getErrorMessage(XstsError xstsError) { + long xboxErrorCode = xstsError.getXErr(); if (xboxErrorCode == 2148916233L) { return SharedLocale.tr("login.xbox.noXboxAccount"); } if (xboxErrorCode == 2148916238L) { return SharedLocale.tr("login.xbox.isChild"); } + if (!xstsError.getMessage().isEmpty()) { + return SharedLocale.tr("login.xbox.errorMessage", xstsError.getMessage()); + } return SharedLocale.tr("login.xbox.unknown", xboxErrorCode); } diff --git a/launcher/src/main/resources/com/skcraft/launcher/lang/Launcher.properties b/launcher/src/main/resources/com/skcraft/launcher/lang/Launcher.properties index f5f9c1c..04592b1 100644 --- a/launcher/src/main/resources/com/skcraft/launcher/lang/Launcher.properties +++ b/launcher/src/main/resources/com/skcraft/launcher/lang/Launcher.properties @@ -115,6 +115,7 @@ login.xbox.noXboxAccount=That account does not have an Xbox account associated! login.xbox.isChild=The account is a child (under 18) and cannot proceed unless it is part of a Family. login.xbox.unknown=An unknown error occurred while logging in with Xbox (XErr {0}) +login.xbox.errorMessage=An unknown error occurred while logging in with Xbox: {0} console.title=Messages and Errors console.launcherConsoleTitle=Launcher Messages