From 270362db566f32f5bee081bf88ff6e6915f2948e Mon Sep 17 00:00:00 2001 From: Timothy Baldridge <tbaldridge@gmail.com> Date: Sat, 18 Dec 2021 09:29:56 -0700 Subject: [PATCH] Update how we handle invalid tokens --- .../TokenProviders/WabbajackApiTokenProvider.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Wabbajack.Services.OSIntegrated/TokenProviders/WabbajackApiTokenProvider.cs b/Wabbajack.Services.OSIntegrated/TokenProviders/WabbajackApiTokenProvider.cs index c8b59553..c5a20c79 100644 --- a/Wabbajack.Services.OSIntegrated/TokenProviders/WabbajackApiTokenProvider.cs +++ b/Wabbajack.Services.OSIntegrated/TokenProviders/WabbajackApiTokenProvider.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using SharpCompress.Crypto; using Wabbajack.DTOs.Logins; using Wabbajack.Hashing.xxHash64; using Wabbajack.Networking.Http.Interfaces; @@ -18,9 +19,21 @@ public class WabbajackApiTokenProvider : ITokenProvider<WabbajackApiState> if (!MetricsPath.FileExists()) await CreateMetricsKey(); + string wjToken; + try + { + wjToken = (await MetricsPath.FromEncryptedJsonFile<string>())!; + } + catch (CryptoException) + { + MetricsPath.Delete(); + await CreateMetricsKey(); + wjToken = (await MetricsPath.FromEncryptedJsonFile<string>())!; + } + return new WabbajackApiState { - MetricsKey = (await MetricsPath.FromEncryptedJsonFile<string>())!, + MetricsKey = wjToken, AuthorKey = AuthorKeyPath.FileExists() ? await AuthorKeyPath.ReadAllTextAsync() : null }; }