public IObservable<TwoFactorChallengeResult> HandleTwoFactorException(TwoFactorAuthorizationException exception)
 {
     var userError = new TwoFactorRequiredUserError(exception);
     return twoFactorDialog.Show(userError)
         .ObserveOn(RxApp.MainThreadScheduler)
         .SelectMany(x =>
             x == RecoveryOptionResult.RetryOperation
                 ? Observable.Return(userError.ChallengeResult)
                 : Observable.Throw<TwoFactorChallengeResult>(exception));
 }
        public IObservable <TwoFactorChallengeResult> HandleTwoFactorException(TwoFactorAuthorizationException exception)
        {
            var userError = new TwoFactorRequiredUserError(exception);

            return(twoFactorDialog.Show(userError)
                   .ObserveOn(RxApp.MainThreadScheduler)
                   .SelectMany(x =>
                               x == RecoveryOptionResult.RetryOperation
                        ? Observable.Return(userError.ChallengeResult)
                        : Observable.Throw <TwoFactorChallengeResult>(exception)));
        }
        public async Task <TwoFactorChallengeResult> HandleTwoFactorException(TwoFactorAuthorizationException exception)
        {
            await ThreadingHelper.SwitchToMainThreadAsync();

            var userError = new TwoFactorRequiredUserError(exception);
            var result    = await twoFactorDialog.Show(userError);

            if (result != null)
            {
                return(result);
            }
            else
            {
                throw exception;
            }
        }
예제 #4
0
        public async Task <TwoFactorChallengeResult> HandleTwoFactorException(TwoFactorAuthorizationException exception)
        {
            Guard.ArgumentNotNull(exception, nameof(exception));

            await JoinableTaskContext.Factory.SwitchToMainThreadAsync();

            var userError = new TwoFactorRequiredUserError(exception);
            var result    = await twoFactorDialog.Show(userError);

            if (result != null)
            {
                return(result);
            }
            else
            {
                throw exception;
            }
        }