Claim Logic

This commit is contained in:
Andre Beging
2022-04-11 15:51:11 +02:00
parent 1b2c6c4062
commit 5026196b46
9 changed files with 137 additions and 47 deletions

View File

@@ -20,8 +20,10 @@ namespace FoodsharingSiegen.Shared.Helper
/// <returns>The string</returns>
public static string CreateToken(User user)
{
user.Password = "";
var serializedUser = JsonSerializer.Serialize(user);
var userClone = user.Clone();
userClone.Password = "";
var serializedUser = JsonSerializer.Serialize(userClone);
var tokenHandler = new JwtSecurityTokenHandler();
var tokenDescriptor = new SecurityTokenDescriptor
@@ -57,18 +59,7 @@ namespace FoodsharingSiegen.Shared.Helper
try
{
var tokenHandler = new JwtSecurityTokenHandler();
tokenHandler.ValidateToken(token, new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = Cryptor.GetSigningKey(),
ValidateAudience = true,
ValidAudience = Audience,
ValidateIssuer = true,
ValidIssuer = Issuer
}, out var stuff);
var result = tokenHandler.ValidateTokenAsync(token, new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
@@ -81,15 +72,15 @@ namespace FoodsharingSiegen.Shared.Helper
ValidIssuer = Issuer
}).Result;
if (result.Claims.TryGetValue(ClaimTypes.UserData, out var jsonObj))
if (result.Claims.TryGetValue(ClaimTypes.UserData, out var jsonObj) && jsonObj != null)
{
user = JsonSerializer.Deserialize<User>(jsonObj.ToString());
user = JsonSerializer.Deserialize<User>(jsonObj.ToString()!);
if (user != null) user.Password = string.Empty;
}
return result.IsValid;
}
catch (Exception e)
catch (Exception)
{
return false;
}