private async Task <Uri> InterceptAuthorizationUriAsync(
            Uri authorizationUri,
            Uri redirectUri,
            CancellationToken cancellationToken)
        {
            await _platformProxy.StartDefaultOsBrowserAsync(authorizationUri.ToString()).ConfigureAwait(false);

            return(await _tcpInterceptor.ListenToSingleRequestAndRespondAsync(
                       redirectUri.Port,
                       GetMessageToShowInBroswerAfterAuth,
                       cancellationToken)
                   .ConfigureAwait(false));
        }
        private async Task <Uri> InterceptAuthorizationUriAsync(
            Uri authorizationUri,
            Uri redirectUri,
            CancellationToken cancellationToken)
        {
            Func <Uri, Task> defaultBrowserAction = (Uri u) => _platformProxy.StartDefaultOsBrowserAsync(u.AbsoluteUri);
            Func <Uri, Task> openBrowserAction    = _webViewOptions?.OpenBrowserAsync ?? defaultBrowserAction;

            await openBrowserAction(authorizationUri).ConfigureAwait(false);

            return(await _uriInterceptor.ListenToSingleRequestAndRespondAsync(
                       redirectUri.Port,
                       GetResponseMessage,
                       cancellationToken)
                   .ConfigureAwait(false));
        }