我已经在salesforce端创建了一个连接的App,并使用passport saml为基于expressJs的几个nodeJs应用程序提供SSO。
SSO运行得很好。
但是,当我从salesforce注销时,我仍然可以登录到应用程序。
我相信这与曲奇有关。有没有办法查看salesforce cookie并在其失效时注销?
或者,当发起注销时,有没有办法将呼叫从salesforce发送到我的某个路由?
发布于 2017-12-17 12:01:10
您可以在提供静态文件之前验证auth令牌(salesforce或其他任何东西)。
但是,如果您正在构建SPA,则还需要在前端代码(在浏览器上运行)中验证会话。
否则,当浏览器执行缓存和将数据从SPA保存到浏览器的本地存储时,您的方法将不起作用。
发布于 2017-08-26 23:39:20
解决方案是在从NodeJs提供web应用程序之前验证salesforce auth令牌。换句话说,NodeJs后端应用程序将使用在使用jsforce.connection.login接口登录时收到的salesforce sessionId令牌来验证相应的salesforce会话。如果会话不再有效,则应该使用req.logout()方法使passportJs会话无效
https://stackoverflow.com/questions/39319246
复制相似问题