Exemplo n.º 1
0
        public IActionResult Post([FromBody] Login login)
        {
            try
            {
                var userGot = _userRepository.GetUserByEmail(login.email);
                if (userGot != null)
                {
                    if (_userRepository.CheckMatch(userGot.passhash_user, login.password) && _userRepository.CheckLDAP(login.email, login.password))
                    {
                        var jwt   = new JwtService(_config);
                        var token = jwt.GenerateSecurityToken(userGot);

                        Sessionw newSession = new Sessionw();
                        newSession.id_session    = userGot.id_user;
                        newSession.token_session = token;
                        using (var scope = new TransactionScope())
                        {
                            var alreadySession = _sessionRepository.GetSessionById(userGot.id_user);
                            if (alreadySession != null)
                            {
                                _sessionRepository.DeleteSession(userGot.id_user);
                            }
                            _sessionRepository.InsertSession(newSession);
                            scope.Complete();
                        }
                        return(new OkObjectResult(newSession));
                    }
                    else
                    {
                        return(new NotFoundResult());
                    }
                }
                else
                {
                    return(new NotFoundResult());
                }
            }
            catch (Exception)
            {
                return(new StatusCodeResult(500));
            }
        }
Exemplo n.º 2
0
 public IActionResult Get([FromHeader(Name = "Authorization")] string token, int id)
 {
     try
     {
         string checkToken = token.Substring(7);
         var    sessionm   = _sessionmRepository.GetSessionById(id);
         var    sessionw   = _sessionwRepository.GetSessionById(id);
         if ((sessionm != null && sessionm.token_session.Equals(checkToken)) || (sessionw != null && sessionw.token_session.Equals(checkToken)))
         {
             return(new OkResult());
         }
         else
         {
             return(new UnauthorizedResult());
         }
     }
     catch (Exception)
     {
         return(new StatusCodeResult(500));
     }
 }