Ejemplo n.º 1
0
        public async Task <IActionResult> Get([FromForm] UserCredentials credentials)
        {
            try
            {
                if (credentials.UserName.Equals(string.Empty))
                {
                    return(BadRequest());
                }

                var identity = await _credentialsRepository.GetUserCredentialsAsync(credentials.UserName);

                if (identity == null || !credentials.Password.Equals(identity.Password))
                {
                    _logger.LogDebug($"Invalid username {credentials.UserName} or password {credentials.Password}");

                    return(BadRequest("Invalid credentials"));
                }

                var response = new
                {
                    access  = GetAccessToken(credentials.UserName),
                    refresh = GetRefreshToken(credentials.UserName)
                };

                return(Ok(JsonToString(response)));
            }
            catch (Exception e)
            {
                _logger.LogError($"Error while authorization\n {e.Message}");
            }

            return(BadRequest());
        }