public TokenDto GenerateToken(SilentManager.API.Security.User user) { DateTime dataCriacao = DateTime.Now; DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(3600); string _token = RandomString(32); TokenDto token = new TokenDto { Expiration = dataExpiracao, AccessToken = _token }; Token tk = new Token { UserId = _unitOfWork.UserRepo.Find(u => u.Email.Equals(user.Email)).FirstOrDefault().UserId, Expiration_Date = dataExpiracao, token = _token }; _unitOfWork.tokenRepo.Add(tk); _unitOfWork.tokenRepo.Save(); return(token); }
public bool ValidateCredentials(SilentManager.API.Security.User user) { bool credenciaisValidas = false; if (user != null && !String.IsNullOrWhiteSpace(user.Email)) { // Verifica a existência do usuário nas tabelas do // ASP.NET Core Identity SilentManager.API.Security.User userIdentity = _unitOfWork.UserRepo.Find(_user => _user.Email.Equals(user.Email)).Select(u => new SilentManager.API.Security.User { Email = u.Email, Password = u.Password }).FirstOrDefault(); if (userIdentity != null) { user.Password = ComputeSha256Hash(user.Password); // Efetua o login com base no Id do usuário e sua senha credenciaisValidas = user.Password.Equals(userIdentity.Password) ? true : false; } } return(credenciaisValidas); }