Esempio n. 1
0
        public async Task <IActionResult> Login([FromBody] LoginRequest request)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                _logger.LogInformation($"Authorizing user {request.Username}");

                var user = await _authService.CheckCredentialsAsync(request);

                if (user == null)
                {
                    _logger.LogWarning($"User {request.Username} failed to log in.");
                    return(NotFound());
                }

                var token = await _authService.GetToken(user);

                _logger.LogInformation($"User {request.Username} logged in.");

                return(Ok(token));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(StatusCode(500));
            }
        }