身份提供商(salesforce)注销SSO时注销服务提供商(passport-saml)

问题描述 投票:0回答:2

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

SSO工作正常。

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

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

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

node.js salesforce single-sign-on passport.js logout
2个回答
0
投票

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

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.