MSAL浏览器对话框关闭

时间:2017-07-27 09:17:41

标签: c# wpf browser dialog msal

当我使用右上方关闭按钮(红色x)从 msal 关闭Dialog中的符号时出现问题,这是我从AcquireTokenAsync(scope)的调用中获得的。

问题是,我从AcquireToken获得了有效的结果,结果与之前登录的结果相同。

详情: 我使用活动目录 b2c。中的帐户登录。然后注销,清除cookie和令牌缓存也从PublicClientApplication.Users删除用户。再次登录,AcquireTokenSilent按预期引发MsalUiRequiredExceptionAcquireToken SignIn - 对话框打开,我现在可以选择我之前登录过的帐户,(但是我清除所有,奇怪的是,当我然后删除帐户(三个点,在登录对话框的右上角)然后说取消,我得到null作为结果,但当关闭登录对话框时,我得到与我正常登录时的结果相同。

这是一种正常的行为吗,因为上次登录的帐户已保存,我必须将其删除,或者我想念其他内容?

我在桌面WPF应用中使用MSAL 1.1.0预览版。 还有一个自己的TokenCache,但这些删除了每个签出保存的信息。

感谢 dstreissi

1 个答案:

答案 0 :(得分:0)

我明白了, msal 按预期工作,我使用了来自Azure-Samples/active-directory-dotnet-desktop-msgraph-v2的代码示例。 try-catch周围有一个AcquireToken。这些catch a MsalException。如果您取消,AcquireToken会抛出MsalException。我抓住了它,再把它扔掉了。

对于相同的AuthenticationResult,我忘了重置它。

所以msal 1.1.0-preview现在适合我。