<PackageReference Include="Microsoft.Identity.Client" Version="4.83.3" />

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)
public InteractiveRequest(AuthenticationRequestParameters requestParams, AcquireTokenInteractiveParameters interactiveParameters, IAuthCodeRequestComponent authCodeRequestComponentOverride = null, ITokenRequestComponent authCodeExchangeComponentOverride = null, ITokenRequestComponent brokerExchangeComponentOverride = null)