public InteractiveRequest(AuthenticationRequestParameters authenticationRequestParameters, IEnumerable <string> extraScopesToConsent, string loginHint, UIBehavior UIBehavior, IWebUI webUI) : base(authenticationRequestParameters) { PlatformPlugin.PlatformInformation.ValidateRedirectUri(authenticationRequestParameters.RedirectUri, authenticationRequestParameters.RequestContext); if (!string.IsNullOrWhiteSpace(authenticationRequestParameters.RedirectUri.Fragment)) { throw new ArgumentException(MsalErrorMessage.RedirectUriContainsFragment, nameof(authenticationRequestParameters.RedirectUri)); } _extraScopesToConsent = new SortedSet <string>(); if (!MsalHelpers.IsNullOrEmpty(extraScopesToConsent)) { _extraScopesToConsent = extraScopesToConsent.CreateSetFromEnumerable(); } ValidateScopeInput(_extraScopesToConsent); authenticationRequestParameters.LoginHint = loginHint; if (!string.IsNullOrWhiteSpace(authenticationRequestParameters.ExtraQueryParameters) && authenticationRequestParameters.ExtraQueryParameters[0] == '&') { authenticationRequestParameters.ExtraQueryParameters = authenticationRequestParameters.ExtraQueryParameters.Substring(1); } _webUi = webUI; _UIBehavior = UIBehavior; LoadFromCache = false; //no cache lookup and refresh for interactive. AuthenticationRequestParameters.RequestContext.Logger.Info("Additional scopes - " + _extraScopesToConsent.AsSingleString() + ";" + "UIBehavior - " + _UIBehavior.PromptValue); }
public InteractiveRequest(AuthenticationRequestParameters authenticationRequestParameters, string[] additionalScope, string loginHint, UiOptions?uiOptions, IWebUI webUI) : base(authenticationRequestParameters) { PlatformPlugin.PlatformInformation.ValidateRedirectUri(authenticationRequestParameters.RedirectUri, this.CallState); if (!string.IsNullOrWhiteSpace(authenticationRequestParameters.RedirectUri.Fragment)) { throw new ArgumentException(MsalErrorMessage.RedirectUriContainsFragment, "redirectUri"); } _additionalScope = new SortedSet <string>(); if (!MsalHelpers.IsNullOrEmpty(additionalScope)) { this._additionalScope = additionalScope.CreateSetFromArray(); } ValidateScopeInput(this._additionalScope); authenticationRequestParameters.LoginHint = loginHint; if (!string.IsNullOrWhiteSpace(authenticationRequestParameters.ExtraQueryParameters) && authenticationRequestParameters.ExtraQueryParameters[0] == '&') { authenticationRequestParameters.ExtraQueryParameters = authenticationRequestParameters.ExtraQueryParameters.Substring(1); } this._webUi = webUI; this._uiOptions = uiOptions; this.LoadFromCache = false; //no cache lookup and refresh for interactive. if (string.IsNullOrWhiteSpace(loginHint) && _uiOptions == UiOptions.ActAsCurrentUser) { throw new ArgumentException(MsalErrorMessage.LoginHintNullForUiOption, "loginHint"); } PlatformPlugin.BrokerHelper.PlatformParameters = authenticationRequestParameters.PlatformParameters; }