private async Task AcquireTokenSilentAsync() { try { AcquireTokenInteractiveParameterBuilder request = PublicClientApplication.AcquireTokenInteractive(App.s_defaultScopes) .WithPrompt(Prompt.ForceLogin) .WithParentActivityOrWindow(App.RootViewController); //.WithUseEmbeddedWebView(true); AuthenticationResult result = await request.ExecuteAsync().ConfigureAwait(true); AcquireTokenSilentParameterBuilder builder = PublicClientApplication.AcquireTokenSilent( App.s_defaultScopes, result.Account.Username); AuthenticationResult res = await builder .WithForceRefresh(false) .ExecuteAsync() .ConfigureAwait(true); 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); } }
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); } }