public async Task <IActionResult> IsTokenStillValid([FromHeader] AuthorizationHeaders authHeaders) { using (_logger.BeginScope(GetTransactionLoggingScope())) { _logger.LogDebug($"{nameof(IsTokenStillValid)}" + " called"); if (!CheckAuthorizationHeadersForClientAndToken(authHeaders)) { return(GetBadRequestResponse()); } return(await Task.Run(() => { var tokenIsStillValid = _authorizationProvider.IsTokenStillValid(authHeaders.ClientId, authHeaders.AuthorizationToken); return Ok(GetApiResponse(tokenIsStillValid)); })); } }
/// <summary> /// Checks auth headers to see if credentials were provided /// </summary> /// <param name="authHeaders"></param> /// <returns>true if credentials are present</returns> protected bool CheckAuthorizationHeadersForCredentials(AuthorizationHeaders authHeaders) { if (authHeaders == null) { _logger.LogError("No authorization headers received"); return(false); } if (string.IsNullOrWhiteSpace(authHeaders.ClientId) || string.IsNullOrWhiteSpace(authHeaders.Password)) { _logger.LogError("No authorization token received"); return(false); } return(true); }
public async Task <IActionResult> IssueToken([FromHeader] AuthorizationHeaders authHeaders) { using (_logger.BeginScope(GetTransactionLoggingScope())) { _logger.LogDebug($"{nameof(IssueToken)}" + " called"); if (!CheckAuthorizationHeadersForCredentials(authHeaders)) { return(GetBadRequestResponse()); } return(await Task.Run(() => { var issuedToken = _authorizationProvider.VerifyIsPaidUserAndIssueToken(authHeaders.ClientId, authHeaders.Password, out string token); if (issuedToken) { return Ok(GetApiResponse(token)); } return GetUnauthorizedResponse(); })); } }
public async Task <IActionResult> CalculatePaid([FromHeader] AuthorizationHeaders authHeaders, [FromBody] MortgageCalculationRequest request) { using (_logger.BeginScope(GetTransactionLoggingScope())) { _logger.LogInformation($"{nameof(CalculatePaid)}" + " called with request {@request}"); if (!CheckAuthorizationHeadersForClientAndToken(authHeaders)) { return(GetBadRequestResponse()); } if (_authorizationProvider.IsTokenStillValid(authHeaders.ClientId, authHeaders.AuthorizationToken)) { return(await Task.Run(() => { var result = _mortgageCalculatorFacade.GetMortgageCalculation(request); return GetResultForMortageCalculation(result); })); } return(GetUnauthorizedResponse()); } }
/// <summary> /// Checks auth headers to see if auth token was provided /// </summary> /// <param name="authHeaders"></param> /// <returns>true if token is present</returns> protected bool CheckAuthorizationHeadersForClientAndToken(AuthorizationHeaders authHeaders) { if (authHeaders == null) { _logger.LogError("No authorization headers received"); return(false); } if (string.IsNullOrWhiteSpace(authHeaders.AuthorizationToken)) { _logger.LogError("No authorization token received"); return(false); } if (string.IsNullOrWhiteSpace(authHeaders.ClientId)) { _logger.LogError("No client id received"); return(false); } return(true); }