aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/masterserver/masterserver.cpp
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2023-10-07 11:25:09 +0100
committerGitHub <noreply@github.com>2023-10-07 12:25:09 +0200
commitc093ee10f004f7e2b8be2b326a4b087392ded544 (patch)
tree14db03b2f10549fe368919157906cd6be32e60d3 /NorthstarDLL/masterserver/masterserver.cpp
parent9d8bedf580184313f419cdb60351e712712832e3 (diff)
downloadNorthstarLauncher-c093ee10f004f7e2b8be2b326a4b087392ded544.tar.gz
NorthstarLauncher-c093ee10f004f7e2b8be2b326a4b087392ded544.zip
Expose origin auth state and errors to squirrel (#468)
Also moves `NSIsMasterServerAuthenticated` out of `scriptserverbrowser.cpp` because it didn't really fit there This will be used for showing failed origin auth errors in the game's UI
Diffstat (limited to 'NorthstarDLL/masterserver/masterserver.cpp')
-rw-r--r--NorthstarDLL/masterserver/masterserver.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/NorthstarDLL/masterserver/masterserver.cpp b/NorthstarDLL/masterserver/masterserver.cpp
index c2bbdfd8..64f172c9 100644
--- a/NorthstarDLL/masterserver/masterserver.cpp
+++ b/NorthstarDLL/masterserver/masterserver.cpp
@@ -95,6 +95,10 @@ void MasterServerManager::AuthenticateOriginWithMasterServer(const char* uid, co
std::string uidStr(uid);
std::string tokenStr(originToken);
+ m_bOriginAuthWithMasterServerSuccessful = false;
+ m_sOriginAuthWithMasterServerErrorCode = "";
+ m_sOriginAuthWithMasterServerErrorMessage = "";
+
std::thread requestThread(
[this, uidStr, tokenStr]()
{
@@ -142,9 +146,26 @@ void MasterServerManager::AuthenticateOriginWithMasterServer(const char* uid, co
originAuthInfo["token"].GetString(),
sizeof(m_sOwnClientAuthToken) - 1);
spdlog::info("Northstar origin authentication completed successfully!");
+ m_bOriginAuthWithMasterServerSuccessful = true;
}
else
+ {
spdlog::error("Northstar origin authentication failed");
+
+ if (originAuthInfo.HasMember("error") && originAuthInfo["error"].IsObject())
+ {
+
+ if (originAuthInfo["error"].HasMember("enum") && originAuthInfo["error"]["enum"].IsString())
+ {
+ m_sOriginAuthWithMasterServerErrorCode = originAuthInfo["error"]["enum"].GetString();
+ }
+
+ if (originAuthInfo["error"].HasMember("msg") && originAuthInfo["error"]["msg"].IsString())
+ {
+ m_sOriginAuthWithMasterServerErrorMessage = originAuthInfo["error"]["msg"].GetString();
+ }
+ }
+ }
}
else
{