如何在 WPF 用户控件中嵌入 AcquireTokenInteractive 提示

How to embed AcquireTokenInteractive prompt in a WPF UserControl

我有一个 Windows 桌面 WPF 应用程序,它使用 MSAL 库授权用户访问 Azure Active Directory。一切正常,除了用户选择帐户的提示有时会落后于应用程序(我假设用户在完成 MSAL 提示之前在任务栏中选择了不同的应用程序)。

我已经添加了 WithParentActivityOrWindow 选项并将其指向应用程序的主要 window,但这不会将提示附加到任何内容或强制它出现在应用程序前面。

是否可以执行以下操作之一,如果可以,怎么做?

作为参考,此处的示例代码与我使用的代码几乎相同: https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-desktop-acquire-token-interactive?tabs=dotnet

编辑:我今天注意到 Visual Studio 在 OAuth 提示完成之前一直处于阻塞状态,但我不确定这是如何完成的,或者 Visual Studio 是否正在使用 MSAL 库。

如文档所述,AcquireTokenInteractive 应该在 UI 线程上 运行。我的应用程序嵌入到另一个应用程序中,所以一旦我在主应用程序的 UI 线程上更改对 运行 的调用,它就会按预期开始工作。