public async Task TestAcquireTokenInteractive_Embedded_Async() { await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithUseEmbeddedWebView(true) .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters(ApiEvent.ApiIds.AcquireTokenInteractive); _harness.ValidateInteractiveParameters(expectedEmbeddedWebView: WebViewPreference.Embedded); }
public async Task TestAcquireTokenInteractive_EmbeddedNetCore_Async() { var ex = await AssertException.TaskThrowsAsync <MsalClientException>(() => AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, TestConstants.s_scope) .WithUseEmbeddedWebView(true) .ExecuteAsync() ).ConfigureAwait(false); Assert.AreEqual(MsalError.WebviewUnavailable, ex.ErrorCode); }
public async Task TestAcquireTokenInteractiveBuilderWithLoginHintAsync() { await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithLoginHint(MsalTestConstants.DisplayableId) .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters(ApiEvent.ApiIds.AcquireTokenInteractive); _harness.ValidateInteractiveParameters(expectedLoginHint: MsalTestConstants.DisplayableId); }
public async Task TestAcquireTokenInteractive_ParentWindow_WithCallbackFunc_Async() { IntPtr parentWindowIntPtr = new IntPtr(12345); await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithParentActivityOrWindowFunc(() => parentWindowIntPtr) .ExecuteAsync() .ConfigureAwait(false); Assert.AreEqual(parentWindowIntPtr, _harness.InteractiveParametersReceived.UiParent.OwnerWindow); }
public async Task TestAcquireTokenInteractive_SystemWebview_Async() { var customWebUi = Substitute.For <ICustomWebUi>(); await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithUseEmbeddedWebView(false) .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters(ApiEvent.ApiIds.AcquireTokenInteractive); _harness.ValidateInteractiveParameters(expectedEmbeddedWebView: WebViewPreference.System); }
public async Task TestAcquireTokenInteractiveBuilderWithCustomWebUiAsync() { var customWebUi = Substitute.For <ICustomWebUi>(); await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithCustomWebUi(customWebUi) .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters(ApiEvent.ApiIds.AcquireTokenInteractive); _harness.ValidateInteractiveParameters(expectedCustomWebUi: customWebUi); }
public async Task TestAcquireTokenInteractive_ParentWindow_WithCallbackFuncAndAcquireTokenBuilder_Async() { IntPtr parentWindowIntPtrFromCallback = new IntPtr(12345); IntPtr parentWindowIntPtrSpecific = new IntPtr(98765); await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, TestConstants.s_scope) .WithParentActivityOrWindowFunc(() => parentWindowIntPtrFromCallback) .WithParentActivityOrWindow(parentWindowIntPtrSpecific) .ExecuteAsync() .ConfigureAwait(false); Assert.AreEqual(parentWindowIntPtrSpecific, _harness.InteractiveParametersReceived.UiParent.OwnerWindow); }
public async Task TestAcquireTokenInteractive_Options_Async() { var options = new SystemWebViewOptions(); await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithSystemWebViewOptions(options) .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters(ApiEvent.ApiIds.AcquireTokenInteractive); _harness.ValidateInteractiveParameters( expectedEmbeddedWebView: WebViewPreference.System, // If system webview options are set, force usage of system webview browserOptions: options); }
private async Task AcquireTokenSilentAsync() { try { Console.WriteLine("[TESTLOG] - start AcquireTokenSilentAsync"); Console.WriteLine($"[TESTLOG] - PublicClientApplication? {_publicClientApplication == null}"); AcquireTokenInteractiveParameterBuilder request = _publicClientApplication.AcquireTokenInteractive(new[] { "user.read" }) .WithPrompt(Prompt.ForceLogin) .WithUseEmbeddedWebView(true); Console.WriteLine("[TESTLOG] - WithParentActivityOrWindow"); Console.WriteLine($"[TESTLOG] - WithParentActivityOrWindow - root view controller {App.RootViewController}"); request.WithParentActivityOrWindow(App.RootViewController); Console.WriteLine("[TESTLOG] - after creating request"); AuthenticationResult result = await request.ExecuteAsync().ConfigureAwait(true); Console.WriteLine("[TESTLOG] - after executing interactive request"); AcquireTokenSilentParameterBuilder builder = _publicClientApplication.AcquireTokenSilent( App.s_scopes, result.Account.Username); Console.WriteLine("[TESTLOG] - after creating silent request"); AuthenticationResult res = await builder .WithForceRefresh(false) .ExecuteAsync() .ConfigureAwait(true); Console.WriteLine("[TESTLOG] - after executing silent request"); var resText = GetResultDescription(res); if (res.AccessToken != null) { acquireResponseTitleLabel.Text = SuccessfulResult; } acquireResponseLabel.Text = "Acquire Token Silent Acquisition Result....\n" + resText; } catch (Exception exception) { CreateExceptionMessage(exception); } }
public static AcquireTokenInteractiveParameterBuilder WithUnoHelpers(this AcquireTokenInteractiveParameterBuilder builder) { #if __WASM__ builder.WithCustomWebUi(WasmWebUi.Instance); #elif __MACOS__ #if NET6_0_OR_GREATER // WithUnoHelpers is not yet supported for macOS on .NET 6 // builder.WithParentActivityOrWindow(Windows.UI.Xaml.Window.Current.Content.Window); #else builder.WithParentActivityOrWindow(Windows.UI.Xaml.Window.Current.Content.Window); #endif #endif return(builder); }
public async Task TestAcquireTokenInteractiveBuilderWithAccountAsync() { var account = Substitute.For <IAccount>(); account.Username.Returns(MsalTestConstants.DisplayableId); await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithAccount(account) .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters(ApiEvent.ApiIds.AcquireTokenInteractive); _harness.ValidateInteractiveParameters(account, expectedLoginHint: MsalTestConstants.DisplayableId); }
public async Task TestAcquireTokenInteractiveBuilderWithPromptAndExtraQueryParametersAsync() { await AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithLoginHint(MsalTestConstants.DisplayableId) .WithExtraQueryParameters("domain_hint=mydomain.com") .ExecuteAsync() .ConfigureAwait(false); _harness.ValidateCommonParameters( ApiEvent.ApiIds.AcquireTokenInteractive, expectedExtraQueryParameters: new Dictionary <string, string> { { "domain_hint", "mydomain.com" } }); _harness.ValidateInteractiveParameters( expectedLoginHint: MsalTestConstants.DisplayableId); }
private AcquireTokenInteractiveParameterBuilder ConfigureWebview(AcquireTokenInteractiveParameterBuilder builder) { switch ((string)pckWebView.SelectedItem) { case "System": builder = builder.WithUseEmbeddedWebView(false); break; case "Embedded": builder = builder.WithUseEmbeddedWebView(true); break; default: throw new NotImplementedException(); } return(builder); }
private async Task AcquireEditProfileTokenAsync() { try { AcquireTokenInteractiveParameterBuilder request = _publicClientApplication.AcquireTokenInteractive(App.s_scopes) .WithPrompt(Prompt.ForceLogin) .WithParentActivityOrWindow(App.RootViewController) .WithUseEmbeddedWebView(true); AuthenticationResult result = await request.ExecuteAsync().ConfigureAwait(true); // Change the policy to the edit profile policy // Set prompt behavior to none App.s_authority = App.B2CEditProfilePolicyAuthority; InitPublicClient(); AcquireTokenInteractiveParameterBuilder builder = _publicClientApplication.AcquireTokenInteractive(App.s_scopes) .WithPrompt(Prompt.NoPrompt) .WithParentActivityOrWindow(App.RootViewController) .WithUseEmbeddedWebView(true); AuthenticationResult res = await builder .ExecuteAsync() .ConfigureAwait(true); var resText = GetResultDescription(res); if (res.AccessToken != null) { acquireResponseTitleLabel.Text = SuccessfulResult; } acquireResponseLabel.Text = "Results from B2C edit profile test...\n" + resText; } catch (Exception exception) { CreateExceptionMessage(exception); } }
private async Task RunPromptTestForUserAsync(LabResponse labResponse, Prompt prompt, bool useLoginHint) { var pca = PublicClientApplicationBuilder .Create(labResponse.AppId) .WithRedirectUri(SeleniumWebUI.FindFreeLocalhostRedirectUri()) .Build(); AcquireTokenInteractiveParameterBuilder builder = pca .AcquireTokenInteractive(s_scopes) .WithPrompt(prompt) .WithCustomWebUi(CreateSeleniumCustomWebUI(labResponse.User, prompt, useLoginHint)); if (useLoginHint) { builder = builder.WithLoginHint(labResponse.User.Upn); } AuthenticationResult result = await builder .ExecuteAsync(new CancellationTokenSource(_interactiveAuthTimeout).Token) .ConfigureAwait(false); await MsalAssert.AssertSingleAccountAsync(labResponse, pca, result).ConfigureAwait(false); }
public void Build(AcquireTokenInteractiveParameterBuilder builder) { }
public async Task TestAcquireTokenInteractive_EmbeddedAndSystemOptions_Async() { var options = new SystemWebViewOptions(); var ex = await AssertException.TaskThrowsAsync <MsalClientException>(() => AcquireTokenInteractiveParameterBuilder.Create(_harness.Executor, MsalTestConstants.Scope) .WithSystemWebViewOptions(options) .WithUseEmbeddedWebView(true) .ExecuteAsync() ).ConfigureAwait(false); Assert.AreEqual(MsalError.SystemWebviewOptionsNotApplicable, ex.ErrorCode); }
public void Build(AcquireTokenInteractiveParameterBuilder builder) { builder.WithParentActivityOrWindow(MainActivity.Current); }