Token validation

This commit is contained in:
Kun Deng
2022-08-27 20:16:01 -04:00
parent fd0f487615
commit e5bea187f4
2 changed files with 29 additions and 12 deletions
+8 -1
View File
@@ -128,7 +128,7 @@ namespace Icarus.Controllers.Managers
var result = false;
var token = DecodeToken(accessToken);
if (token == null)
if (token == null || token.Erroneous())
{
return result;
}
@@ -148,6 +148,8 @@ namespace Icarus.Controllers.Managers
var rsaParams = GetRSAPublic(_publicKey);
Token tok = null;
try
{
using (var rsa = new RSACryptoServiceProvider())
{
rsa.ImportParameters(rsaParams);
@@ -162,6 +164,11 @@ namespace Icarus.Controllers.Managers
var json = decoder.Decode(accessToken);
tok = JsonConvert.DeserializeObject<Token>(json);
}
}
catch (Exception ex)
{
_logger.Error("An error occurred: {0}", ex.Message);
}
return tok;
+10
View File
@@ -41,6 +41,16 @@ namespace Icarus.Models
return result;
}
public bool Erroneous()
{
var result = true;
Func<string, bool> isEmpty = a => string.IsNullOrEmpty(a);
result = (!isEmpty(Scope) && !isEmpty(Audience) && !isEmpty(Issuer) &&
Expiration > 0 && Issued > 0) ? false : true;
return result;
}
#endregion
}
}