如果使用msal.js,则在登录期间缺少“保持登录状态”消息

时间:2019-09-11 12:26:07

标签: azure-active-directory msal msal.js

上下文

我正在开发一个使用msal.js库的浏览器应用程序,以允许Azure Active Directory帐户访问我们的网站。该应用程序具有clientId和正确设置的范围,并且成功使用了 loginRedirect acquireTokenSilent

问题

我面临的问题是我无法打开会话,因为我没有看到“保持我的登录状态”消息(KMSI),因此我无法回答“是”并使 AADSSO cookie持续存在。因此,登录过程结束后,如果浏览器关闭,我需要再次登录。

期望

如果使用msal.js库从我的网站重定向到microsoft登录,我希望看到KMSI消息以启用持久会话(出于某种原因,我可以看到是否直接进入login.microsoftonline.com)

enter image description here

对西班牙语表示抱歉:它说您想保持会议开放吗?否/是

问题

如何使用msal.js启用KMSI?

1 个答案:

答案 0 :(得分:3)

使用msal.js时看不到“保持登录状态”登录消息的原因是,当库构建URL执行登录时,它包含一个名为x-client-Ver的查询字符串项,该项更改了microsoftonline .com登录流程。 如果您从网址(例如&x-client-Ver = 1.1.3)中删除该项目,则会看到“保持登录状态”消息。

解决方案是手动修补库,直到Microsoft对其进行修复为止。像这样:https://github.com/AzureAD/microsoft-authentication-library-for-js/pull/982/commits