public async Task <ActionResult <AuthenticateResponse> > Authenticate([FromBody] LoginRequest request) { _logger.LogInformation("Authenticate user details."); var response = new AuthenticateResponse(request.CorrelationId()); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _userBusinessInstance.AuthenticateUser(request.Username, request.Password); if (result == null) { return(Unauthorized()); } response.IsSuccess = true; response.ExpiresIn = int.Parse(_config.GetSection("Tokens").GetSection("Lifetime").Value); response.Token = await _tokenClaimsService.GetToken(result.Id); return(response); }