Example #1
0
        public IActionResult Login(LoginRequest request)
        {
            bool isAuth;

            try
            {
                var credentials = _dbService.GetCredentials(request);
                isAuth = _passwordHashingService.Validate(request.Haslo, credentials.Salt, credentials.Hash);
            }
            catch (Exception e)
            {
                return(NotFound(e.Message));
            }

            if (!isAuth)
            {
                return(Unauthorized());
            }

            var tokens = GenerateAuthToken("employee");

            try
            {
                _dbService.SaveRefToken(new SaveRefTokenRequest
                {
                    IndexNumber = request.Login,
                    RefToken    = tokens.refreshToken.ToString()
                });
            }
            catch (Exception e)
            {
                return(NotFound(e.Message));
            }

            return(Ok(new
            {
                tokens.accessToken,
                tokens.refreshToken
            }));
        }