fix issues with uid selection and in case of a bad/unparsable token

This commit is contained in:
Stanley Dimant
2024-10-29 15:09:58 +01:00
parent 4f8292e2bf
commit 1ef6f50246
3 changed files with 42 additions and 24 deletions

View File

@@ -194,8 +194,18 @@ public class ServerConfigurationManager
{
JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
if (server.OAuthToken == null) return string.Empty;
var token = handler.ReadJwtToken(server.OAuthToken);
return token.Claims.First(f => string.Equals(f.Type, "discord_user", StringComparison.Ordinal)).Value!;
try
{
var token = handler.ReadJwtToken(server.OAuthToken);
return token.Claims.First(f => string.Equals(f.Type, "discord_user", StringComparison.Ordinal)).Value!;
}
catch (Exception ex)
{
_logger.LogWarning(ex, "Could not read jwt, resetting it");
server.OAuthToken = null;
Save();
return string.Empty;
}
}
public string[] GetServerNames()