使用 msal.js 库(Microsoft 身份验证库),这是了解给定用户是否已登录的方法?我的目的是避免在用户的凭据已保存在浏览器存储中时显示登录弹出窗口
我目前的做法:
function isUserLoggedIn(username) {
const agent = msal.UserAgentApplication(...);
const user = agent.getUser();
return user != null && user.displayableId === username);
}
但我不确定是否必须检查用户凭据是否已过时/过期。哪条路才是正确的路?
使用 MSAL 代理实例,您可以获取用户信息,因为它已被缓存。获取信息(例如 userId)并不意味着用户的凭据仍然有效(已登录)。
要 100% 确定用户已登录,请请求令牌
const promise = agent.acquireTokenSilent(...)
如果用户未登录,则承诺将被拒绝并显示错误代码用户登录错误另一方面,如果用户仍然登录,则承诺将得到解决
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)