public async Task <IActionResult> Handle() { //Call external provider to get token string token = await externalLoginProvider.AuthenticateAsync(Email, Password, false); if (!String.IsNullOrEmpty(token) && externalLoginProvider.ValidateLoginToken(token, Email)) { //Login to OWS output = await usersRepository.LoginAndCreateSession(customerGUID, Email, Password); if (!output.Authenticated || !output.UserSessionGuid.HasValue || output.UserSessionGuid == Guid.Empty) { output.ErrorMessage = "Username or Password is invalid!"; } return(new OkObjectResult(output)); } //Not authenticated output = new PlayerLoginAndCreateSession(); output.Authenticated = false; output.UserSessionGuid = Guid.Empty; output.ErrorMessage = externalLoginProvider.GetErrorFromToken(token); return(new OkObjectResult(output)); }
public async Task <IActionResult> Handle() { output = await usersRepository.LoginAndCreateSession(customerGUID, Email, Password, false); if (!output.Authenticated || !output.UserSessionGuid.HasValue || output.UserSessionGuid == Guid.Empty) { output.ErrorMessage = "Username or Password is invalid!"; } return(new OkObjectResult(output)); }