Microsoft.Identity.Client.Internal.Requests.InteractiveRequest
This class decides the workflow of an interactive request. The business rules are:
1. If WithBroker is set to true
1.1. Attempt to invoke the broker and get the token
1.2. If this fails, e.g. if broker is not installed, the use a web view (goto 2)
2. Use a webview and get an auth code and look at the auth code
2.1. If the auth code has a special format, showing that a broker is needed then. Invoke the broker flow (step 1) with a broker installation URL
2.2. Otherwise exchange the auth code for tokens (normal authorize_code grant)
namespace Microsoft.Identity.Client.Internal.Requests
{
internal class InteractiveRequest : RequestBase
{
public InteractiveRequest(AuthenticationRequestParameters requestParams, AcquireTokenInteractiveParameters interactiveParameters, IAuthCodeRequestComponent authCodeRequestComponentOverride = null, ITokenRequestComponent authCodeExchangeComponentOverride = null, ITokenRequestComponent brokerExchangeComponentOverride = null);
}
}