예제 #1
0
        public static string GenerateResetToken(string email)
        {
            DateTime now             = DateTime.Now;
            var      resetJwt        = new JwtSecurityToken(issuer: Startup.userTokenOptions.Issuer, audience: Startup.userTokenOptions.Audience, claims: GetTokenClaims(email, now), notBefore: now, expires: now.Add(Startup.userTokenOptions.ResetExpiration), signingCredentials: Startup.userTokenOptions.SigningCredentials);
            var      encodedResetJwt = new JwtSecurityTokenHandler().WriteToken(resetJwt);
            var      token           = new TokenRepository(Startup.connString);

            token.AddForUser(email, "reset", encodedResetJwt);

            return(encodedResetJwt);
        }
예제 #2
0
        public static string GetSubFromToken(string tokentype, string token)
        {
            string email           = string.Empty;
            var    tokenRepository = new TokenRepository(Startup.connString);
            var    getToken        = tokenRepository.GetByTypeAndToken(tokentype, token);

            if (getToken != null)
            {
                email = (new JwtSecurityTokenHandler().ReadToken(token) as JwtSecurityToken).Subject;
            }
            return(email);
        }