public async Task <MsalTokenResponse> AcquireTokenInteractiveAsync( AuthenticationRequestParameters authenticationRequestParameters, AcquireTokenInteractiveParameters acquireTokenInteractiveParameters) { CheckPowerOptimizationStatus(); AndroidBrokerInteractiveResponseHelper.InteractiveBrokerTokenResponse = null; BrokerRequest brokerRequest = BrokerRequest.FromInteractiveParameters( authenticationRequestParameters, acquireTokenInteractiveParameters); // There can only be 1 broker request at a time so keep track of the correlation id AndroidBrokerInteractiveResponseHelper.InteractiveRequestCorrelationId = brokerRequest.CorrelationId; try { await InitiateBrokerHandshakeAsync().ConfigureAwait(false); await AcquireTokenInteractiveViaBrokerAsync(brokerRequest).ConfigureAwait(false); } catch (Exception ex) { _logger.ErrorPiiWithPrefix(ex, "[Android broker] Android broker interactive invocation failed. "); _brokerHelper.HandleBrokerOperationError(ex); } using (_logger.LogBlockDuration("[Android broker] Waiting for Android broker response. ")) { await AndroidBrokerInteractiveResponseHelper.ReadyForResponse.WaitAsync().ConfigureAwait(false); return(AndroidBrokerInteractiveResponseHelper.InteractiveBrokerTokenResponse); } }
private async Task <MsalTokenResponse> AcquireTokenInteractiveInternalAsync(BrokerRequest brokerRequest) { try { await AcquireTokenInteractiveViaContentProviderAsync(brokerRequest).ConfigureAwait(false); } catch (Exception ex) { _logger.ErrorPiiWithPrefix(ex, "[Android broker] Interactive invocation failed. "); _brokerHelper.HandleBrokerOperationError(ex); } using (_logger.LogBlockDuration("[Android broker] Waiting for broker response. ")) { await AndroidBrokerInteractiveResponseHelper.ReadyForResponse.WaitAsync().ConfigureAwait(false); return(AndroidBrokerInteractiveResponseHelper.InteractiveBrokerTokenResponse); } }