Claim Logic
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user