aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
authorRachel Powers <508861+Ryex@users.noreply.github.com>2023-04-29 14:30:57 -0700
committerRachel Powers <508861+Ryex@users.noreply.github.com>2023-05-01 10:43:31 -0700
commit495103f72e85e3664458e6425172bfeb8acf7a97 (patch)
tree12ea9b6603de7ce256d0cdb1911a8c69f0d14be6 /launcher
parent12f0d51c0cd03d660425566264b502736b104310 (diff)
downloadPrismLauncher-495103f72e85e3664458e6425172bfeb8acf7a97.tar.gz
PrismLauncher-495103f72e85e3664458e6425172bfeb8acf7a97.tar.bz2
PrismLauncher-495103f72e85e3664458e6425172bfeb8acf7a97.zip
fix: set `x-xbl-contract-version` header during xbox auth step
Refrencing GDlauncher and ATLauncher code for auth as well as https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/reference/live/rest/additional/httpstandardheaders it is possible some of microsoft's server's are rejecting our request because of this missing header? Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Diffstat (limited to 'launcher')
-rw-r--r--launcher/minecraft/auth/steps/XboxUserStep.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/launcher/minecraft/auth/steps/XboxUserStep.cpp b/launcher/minecraft/auth/steps/XboxUserStep.cpp
index 53069597..842eb60f 100644
--- a/launcher/minecraft/auth/steps/XboxUserStep.cpp
+++ b/launcher/minecraft/auth/steps/XboxUserStep.cpp
@@ -38,6 +38,10 @@ void XboxUserStep::perform() {
QNetworkRequest request = QNetworkRequest(QUrl("https://user.auth.xboxlive.com/user/authenticate"));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
request.setRawHeader("Accept", "application/json");
+ // set contract-verison header (prevent err 400 bad-request?)
+ // https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/reference/live/rest/additional/httpstandardheaders
+ request.setRawHeader("x-xbl-contract-version", "1");
+
auto *requestor = new AuthRequest(this);
connect(requestor, &AuthRequest::finished, this, &XboxUserStep::onRequestDone);
requestor->post(request, xbox_auth_data.toUtf8());