Minor thing but the code to convert the token time fields is missing the iat attribute and the times are in UTC which isn't as useful when troubleshooting, this updated code fixes both issues for anyone else that might want to fix this
switch (key)
{
case "iat":
case "nbf":
case "exp":
double d = double.Parse(dictionary[key].ToString());
DateTime dt = new DateTime(1970, 1, 1).AddSeconds(d).ToLocalTime();
Minor thing but the code to convert the token time fields is missing the iat attribute and the times are in UTC which isn't as useful when troubleshooting, this updated code fixes both issues for anyone else that might want to fix this
switch (key)
{
case "iat":
case "nbf":
case "exp":
double d = double.Parse(dictionary[key].ToString());
DateTime dt = new DateTime(1970, 1, 1).AddSeconds(d).ToLocalTime();