public MailJwtTokenDto ExtractMailToken(string token) { Logger.LogInformation("Try to extract mail token"); var toReturn = new MailJwtTokenDto() { IsValid = false, Token = token }; if (string.IsNullOrEmpty(token)) { return(toReturn); } ClaimsPrincipal pClaim = null; var handler = new JwtSecurityTokenHandler(); var validationParameters = new TokenValidationParameters { ValidIssuer = Configuration.Issuer, ValidAudience = Configuration.Audience, IssuerSigningKeys = new List <SecurityKey>() { new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.SecurityKey)) } }; SecurityToken validatedToken; try { pClaim = handler.ValidateToken(token, validationParameters, out validatedToken); } catch (Exception ex) { toReturn.InvalidationCause = ex.Message; return(toReturn); } long expire; if (!long.TryParse(GetValueFromClaim(pClaim.Claims, ClaimName.Expire), out expire)) { return(toReturn); } toReturn.Expire = expire; toReturn.UserName = GetValueFromClaim(pClaim.Claims, ClaimName.Name); if (expire < DateTimeOffset.Now.ToUnixTimeSeconds()) { return(toReturn); } toReturn.IsValid = true; return(toReturn); }
public FakeJwtService(MailJwtTokenDto mailToken) { _mailToken = mailToken; }