Pre release #81

Merged
kdeng00 merged 25 commits from pre-release into master 2022-09-05 17:13:11 -04:00
2 changed files with 29 additions and 12 deletions
Showing only changes of commit e5bea187f4 - Show all commits
+18 -11
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,19 +148,26 @@ namespace Icarus.Controllers.Managers
var rsaParams = GetRSAPublic(_publicKey);
Token tok = null;
using (var rsa = new RSACryptoServiceProvider())
try
{
rsa.ImportParameters(rsaParams);
using (var rsa = new RSACryptoServiceProvider())
{
rsa.ImportParameters(rsaParams);
IJsonSerializer serializer = new JsonNetSerializer();
IDateTimeProvider provider = new UtcDateTimeProvider();
IJwtValidator validator = new JwtValidator(serializer, provider);
IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
var algorithm = new JWT.Algorithms.RS256Algorithm(rsa);
IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, algorithm);
IJsonSerializer serializer = new JsonNetSerializer();
IDateTimeProvider provider = new UtcDateTimeProvider();
IJwtValidator validator = new JwtValidator(serializer, provider);
IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
var algorithm = new JWT.Algorithms.RS256Algorithm(rsa);
IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, algorithm);
var json = decoder.Decode(accessToken);
tok = JsonConvert.DeserializeObject<Token>(json);
var json = decoder.Decode(accessToken);
tok = JsonConvert.DeserializeObject<Token>(json);
}
}
catch (Exception ex)
{
_logger.Error("An error occurred: {0}", ex.Message);
}
+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
}
}