上下文
我正在开发一个浏览器应用程序,它使用msal.js库允许Azure Active Directory帐户访问我们的网站。应用程序已经正确设置了clientId和作用域,并成功地使用了loginRedirect和acquireTokenSilent。
问题
我面临的问题是,我无法保持会话打开,因为我没有看到“让我在消息中签名”(KMSI),所以我无法回答“是”并使AADSSO cookie持久。因此,在登录过程之后,如果浏览器关闭,我需要再次登录。
期望
如果我使用msal.js库从我的网站重定向到microsoft登录,我希望看到KMSI消息来启用持久会话(由于某种原因,我可以看到如果我直接进入login.microsoftonline.com)。

对不起,西班牙语:它说你想保持会话开放吗?否/是
问题
如何使用msal.js启用KMSI?
发布于 2019-09-12 18:35:03
当使用msal.js时,没有看到‘让我在其中签名’的原因是因为当库构建URL来执行登录时,它包含一个名为x-client-Ver的查询字符串项,它改变了microsoftonline.com登录流。如果您从URL中删除该项(例如&x-client-Ver=1.1.3),您可以看到‘让me签名’的消息。
解决方案是手动修补库,删除它,直到Microsoft修复它。就像这样:https://github.com/AzureAD/microsoft-authentication-library-for-js/pull/982/commits
https://stackoverflow.com/questions/57889140
复制相似问题