public async Task <IActionResult> Login([FromBody] UserLoginReqObj request) { if (!ModelState.IsValid) { return(BadRequest(new AuthFailedResponse { Errors = ModelState.Values.SelectMany(x => x.Errors.Select(xx => xx.ErrorMessage)) })); } var authResponse = await _identityService.LoginAsync(request.Email, request.Password); if (!authResponse.Success) { return(BadRequest(new AuthFailedResponse { Errors = authResponse.Errors })); } return(Ok(new AuthSuccessResponse { Token = authResponse.Token, RefreshToken = authResponse.RefreshToken })); }
public async Task <IActionResult> IdentityServerLogin([FromBody] UserLoginReqObj request) { var authResponse = await _serverRequest.IdentityServerLoginAsync(request.UserName, request.Password); if (authResponse.Token == null) { return(BadRequest(new AuthFailedResponse { Status = new APIResponseStatus { IsSuccessful = authResponse.Status.IsSuccessful, Message = new APIResponseMessage { FriendlyMessage = authResponse?.Status?.Message?.FriendlyMessage, TechnicalMessage = authResponse?.Status?.Message?.TechnicalMessage } } })); } return(Ok(new AuthSuccessResponse { Token = authResponse.Token, RefreshToken = authResponse.RefreshToken })); }
public async Task <AuthenticationResult> IdentityServerLoginAsync(string userName, string password) { try { var loginRquest = new UserLoginReqObj { UserName = userName, Password = password, }; var gosGatewayClient = _httpClientFactory.CreateClient("GOSDEFAULTGATEWAY"); var jsonContent = JsonConvert.SerializeObject(loginRquest); var buffer = Encoding.UTF8.GetBytes(jsonContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var result = await gosGatewayClient.PostAsync(ApiRoutes.Identity.IDENTITYSERVERLOGIN.Trim(), byteContent); var accountInfo = await result.Content.ReadAsStringAsync(); _authResponse = JsonConvert.DeserializeObject <AuthenticationResult>(accountInfo); if (_authResponse == null) { return(new AuthenticationResult { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "System Error!! Please contact Administrator" } } }); } if (_authResponse.Token != null) { return(new AuthenticationResult { Token = _authResponse.Token, RefreshToken = _authResponse.RefreshToken }); } return(new AuthenticationResult { Status = new APIResponseStatus { IsSuccessful = _authResponse.Status.IsSuccessful, Message = new APIResponseMessage { TechnicalMessage = _authResponse.Status?.Message?.TechnicalMessage, FriendlyMessage = _authResponse.Status?.Message?.FriendlyMessage } } }); } catch (Exception ex) { #region Log error var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : LoginAsync{errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new AuthenticationResult { Status = new APIResponseStatus { Message = new APIResponseMessage { FriendlyMessage = "Error occured!! Please tyr again later", MessageId = errorCode, TechnicalMessage = $"ErrorID : LoginAsync{errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}" } } }); #endregion } }