如何解决@ azure / msal-node:有没有办法注销/使令牌无效?
我在节点应用程序中使用@azure/msal-node
包,以使我的用户能够使用其AzureAD凭据登录。登录并获取会话令牌可以正常工作,但是我找不到使会话无效/注销用户的方法-在这里我可以忽略一些明显的东西吗?
就上下文而言,这是我获取令牌的方式:
// msalConfig is my valid config object
const msalApp = new msal.ConfidentialClientApplication(msalConfig);
const authCodeUrlParameters = {
scopes: ['user.read'],redirectUri: BASE_URL + '/msal-redirect'
};
try {
const authCodeResponse = await msalApp.getAuthCodeUrl(authCodeUrlParameters);
reply.redirect(authCodeResponse);
} catch (e) {
logError('auth code redirect error',e);
}
在重定向处理程序中,我正在这样做:
const tokenResponse = await msalApp.acquireTokenByCode({
code: request.query.code,scopes: ['user.read'],redirectUri: BASE_URL + '/msal-redirect'
});
然后我使用该令牌显示已登录的用户等。
我所缺少的是类似msalApp.logout()
的东西-我在这里没看到什么?
解决方法
不幸的是,MSAL当前不包含Splitter1
API。相反,您将必须手动执行这些步骤。
注销操作将包含多个步骤:
- 从msal应用程序缓存中删除帐户和令牌。
- 重定向到AAD注销端点,以便用户注销并删除AAD cookie。
- 如果您的Web应用程序具有会话,请使其无效。
要从msal应用程序缓存中删除帐户和令牌,可以执行以下操作:
TcxSplitterAccess
要从AAD注销,您必须将用户重定向到Azure AD注销端点。 documentation here应该说明如何制作此请求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。