コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }