diff --git a/src/Tgstation.Server.Client/IServerClient.cs b/src/Tgstation.Server.Client/IServerClient.cs
index bab14898f7..9432ea9afd 100644
--- a/src/Tgstation.Server.Client/IServerClient.cs
+++ b/src/Tgstation.Server.Client/IServerClient.cs
@@ -16,9 +16,9 @@ namespace Tgstation.Server.Client
Uri Url { get; }
///
- /// The being used to access the server
+ /// The used to access the server
///
- Token Token { get; }
+ Token Token { get; set; }
///
/// The connection timeout
diff --git a/src/Tgstation.Server.Client/ServerClient.cs b/src/Tgstation.Server.Client/ServerClient.cs
index de049e6aa5..b8af8889ef 100644
--- a/src/Tgstation.Server.Client/ServerClient.cs
+++ b/src/Tgstation.Server.Client/ServerClient.cs
@@ -13,7 +13,15 @@ namespace Tgstation.Server.Client
public Uri Url => apiClient.Url;
///
- public Token Token { get; }
+ public Token Token
+ {
+ get => token;
+ set
+ {
+ token = value ?? throw new InvalidOperationException("Cannot set a null Token!");
+ apiClient.Headers = new ApiHeaders(apiClient.Headers.UserAgent, token.Bearer);
+ }
+ }
///
public TimeSpan Timeout
@@ -36,6 +44,11 @@ namespace Tgstation.Server.Client
///
readonly IApiClient apiClient;
+ ///
+ /// Backing field for
+ ///
+ Token token;
+
///
/// Construct a
///
@@ -44,7 +57,7 @@ namespace Tgstation.Server.Client
public ServerClient(IApiClient apiClient, Token token)
{
this.apiClient = apiClient ?? throw new ArgumentNullException(nameof(apiClient));
- Token = token ?? throw new ArgumentNullException(nameof(token));
+ token = token ?? throw new ArgumentNullException(nameof(token));
if (Token.Bearer != apiClient.Headers.Token)
throw new ArgumentOutOfRangeException(nameof(token), token, "Provided token does not match apiClient headers!");