当我使用右上方关闭按钮(红色x)从 msal 关闭Dialog中的符号时出现问题,这是我从AcquireTokenAsync(scope)
的调用中获得的。
问题是,我从AcquireToken
获得了有效的结果,结果与之前登录的结果相同。
详情:
我使用活动目录 b2c。中的帐户登录。然后注销,清除cookie和令牌缓存也从PublicClientApplication.Users
删除用户。再次登录,AcquireTokenSilent
按预期引发MsalUiRequiredException
,AcquireToken
SignIn
- 对话框打开,我现在可以选择我之前登录过的帐户,(但是我清除所有,奇怪的是,当我然后删除帐户(三个点,在登录对话框的右上角)然后说取消,我得到null作为结果,但当关闭登录对话框时,我得到与我正常登录时的结果相同。
这是一种正常的行为吗,因为上次登录的帐户已保存,我必须将其删除,或者我想念其他内容?
我在桌面WPF应用中使用MSAL 1.1.0预览版。 还有一个自己的TokenCache,但这些删除了每个签出保存的信息。
感谢 dstreissi
答案 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
现在适合我。