public async override Task <LoginResultVM> RunAsync(ValidateUserLoginCmd process, CancellationToken cancellationToken = default) { try { string firebaseToken = p_TasqR.Run(new FindMyFirebaseTokenQr()); var loginRequest = new LoginRequestVM { Username = process.Username, Password = process.Password, FirebaseToken = firebaseToken }; var httpResponse = await p_HttpClient.PostAsync <UserSessionBO, LoginRequestVM>(APIUriConstants.AccessToken, loginRequest, cancellationToken); if (!httpResponse.IsSuccessStatusCode) { throw new LynxException(httpResponse.StringContent); } var dbUserSession = new UserSession { UserID = httpResponse.ObjectContent.UserData.ID, Token = httpResponse.ObjectContent.Token }; p_UserSessionDbSet.Add(dbUserSession); p_BaseDbContext.SaveChanges(); return(new LoginResultVM { IsSuccess = true }); } catch (Exception ex) { p_ExceptionHandler.LogError(ex); return(new LoginResultVM { IsSuccess = false, Error = ex.InnermostException() }); } }
public async override Task <UserSessionBO> RunAsync(GetActiveUserSessionQr request, CancellationToken cancellationToken = default) { string firebaseToken = p_TasqR.Run(new FindMyFirebaseTokenQr()); var verifResult = await p_LynxAPI.PostAsync <TokenVerificationResult, string> ( "/AccessToken/VerifyValidity", firebaseToken, cancellationToken ); if (verifResult.ObjectContent.TokenStatus != TokenStatus.Active) { return(null); } var token = await p_TasqR.RunAsync(new GetTokenCmd(p_AppUser.UserID)); return(token); }