身份提供商(salesforce)注销SSO

时间:2016-09-04 16:47:02

标签: node.js salesforce single-sign-on passport.js logout

我在salesforce端创建了一个连接的应用程序,并使用passport saml为基于expressJs的多个nodeJs应用程序提供SSO。

SSO工作正常。

但是,当我从salesforce注销时,我仍然可以登录到应用程序。

我认为这与cookie有关。有没有办法观察salesforce cookie并在其失效时注销?

或者,在启动注销时,有没有办法从salesforce向我的其中一条路线发送电话?

2 个答案:

答案 0 :(得分:0)

解决方案是在从NodeJs提供Web应用程序之前验证salesforce身份验证令牌。换句话说,NodeJs后端应用程序将使用jsforce.connection.login接口登录时使用salesforce sessionId令牌验证相应的salesforce会话。如果会话不再有效,则应使用req.logout()方法使passportJs会话无效

答案 1 :(得分:0)

您可以在提供静态文件之前验证身份验证令牌(salesforce或其他)。

但是,如果要构建SPA,则还需要在前端代码(在浏览器上运行)中验证会话。

否则,当浏览器执行缓存以及从SPA将数据保存到浏览器的本地存储时,您的方法将无效。