Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public FakeJwtService(MailJwtTokenDto mailToken)
 {
     _mailToken = mailToken;
 }