【发布时间】:2019-05-24 11:06:15
【问题描述】:
尝试从 idp 会话中注销用户时收到 400 错误请求。 用户已从应用程序/护照会话中注销,但未从 idp 会话中注销。
注销和回调端点的设置如下所示。注销端点附加所需的属性以注销用户并创建 SAMLRequest。
app.get('/api/logout', (req, res) => {
const currentUser = getCurrentUser(req);
const user = {
nameID: currentUser.nameID,
nameIDFormat: currentUser.nameIDFormat,
sessionIndex: currentUser.sessionIndex,
};
req.user = user;
return strategy.logout(req, function(err, uri) {
res.redirect(uri);
});
});
app.post('/api/logout/callback', (req, res) => {
req.logout();
// res.redirect(uri);
});
配置是这样设置的:
const strategy = new SamlStrategy(
{
callbackUrl: process.env.CALLBACK_URL,
entryPoint: process.env.ENTRY_POINT,
issuer: process.env.ISSUER,
logoutUrl: process.env.LOGOUT_URL,
logoutCallbackUrl: process.env.LOGOUT_CALLBACK_URL,
},
strategyCallback,
);
非常感谢任何有助于解决问题的帮助。
【问题讨论】:
-
这里有什么更新吗?
-
您的注销回调 URL 是什么?
-
你得到这个问题的答案了吗?
标签: javascript node.js express passport.js passport-saml