【发布时间】:2017-11-19 11:02:00
【问题描述】:
大约 2 天来,我一直在摸索如何解决看似简单的任务,但它开始让我发疯。
我有一个应用程序,用户将使用 SAML 2.0 进行身份验证。 我为前端设置了一个 react-application,并且正在考虑使用 JWT 来保护前端和后端之间的 rest-api 通信。
当用户登录时,流程如下:
- 用户访问 www.server.com/ 并通过 react-application 获得静态 HTML
- 用户点击“登录”并访问 www.server.com/login
- passport-saml 将用户重定向到 saml 身份提供者。用户登录。
- 用户使用 req.body 中的 SamlResponse 回调 www.server.com/callback,该 SamlResponse 由 passport-saml 解码并放入 req.user。
- 如果用户不存在,我会在数据库中创建用户。
- 我创建了一个 JWT。
接下来我该怎么做?问题是当从身份提供者回调时用户不在反应应用程序中,所以我丢失了应用程序中的所有状态,所以无论我回复什么都会发送到浏览器。
有什么办法可以强制浏览器给我身份提供者正在回调的 SamlResponse?然后我可以将它作为来自 react-application 的 http-request 发送到服务器。
【问题讨论】:
-
海你能分享一些样本我有同样的问题
标签: node.js reactjs saml-2.0 passport-saml