public bool ActiveEmail(string token, int id) { if (CheckToken(token, id)) { UserRefreshToken t = _tokenService.GetById(id); User u = _userService.GetById(t.User); u.ConfirmedEmail = true; _userService.Update(u); return(true); } return(false); }
public bool ValidRefreshToken(String _token) { try { JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler(); JwtSecurityToken jwtToken = tokenHandler.ReadToken(_token) as JwtSecurityToken; UserRefreshToken token = new UserRefreshToken { RefreshToken = _token, Id = Convert.ToInt32(jwtToken.Claims.FirstOrDefault(claim => claim.Type == "email").Value), User = Convert.ToInt32(jwtToken.Claims.FirstOrDefault(claim => claim.Type == "unique_name").Value) }; var key = Encoding.ASCII.GetBytes(_secret2); tokenHandler.ValidateToken(token.RefreshToken, new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false, ValidateLifetime = true }, out SecurityToken validatedRefreshToken); var t = _context.GetById(token.Id); if (t == null || t.User != token.User || String.Compare(t.RefreshToken, _token) != 0) { throw new Exception("Token doesn't exist"); } return(true); }catch (SecurityTokenExpiredException e) { Console.WriteLine(e.Message); throw new Exception(e.Message); } }