使用Passport saml注销Google IDP

问题描述

我正在使用passport-saml通过Google IDP(SAML APP)对用户进行身份验证

我的SAML策略配置如下

const samlStrategy = new SamlStrategy({
    protocol: PROTOCOL,entryPoint: SSO_URL,// SSO URL (Step 2)
    issuer: SP_ENTITY_ID,// Entity ID (Step 4)
    path: CALLBACK_PATH,// ACS URL path (Step 4)
    cert: IDP_CERT,logoutUrl: 'https://accounts.google.com/logout',logoutCallbackUrl: '/signout'
    
  },function (profile,done) {
    done(null,JSON.parse(JSON.stringify(profile)))
  })
  passport.use(samlStrategy)

使用Passport SAML策略,我能够成功登录

注销时,我要退出SAML策略,如下所示:

server.get('/logout',function (req,res) {
    try {
      req.user.nameID = req.user.nameID;
      req.user.nameIDFormat = req.user.nameIDFormat;
      samlStrategy.logout(req,function(err,requestUrl){
        if(err){
            return res.send({ success: false,error: err });
        }
        req.logout()
        req.session=null
        req.user=null
        return res.redirect(requestUrl);
      });
    } catch(error) {
      return res.send({ success: false,error });
    }
  })

这使我退出登录到浏览器的所有Google帐户。

问题:

  1. 是否可以仅从我用于SAML策略的特定Google帐户注销?
  2. 退出回调网址也未调用

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...