小编Sti*_*ken的帖子

使用Node.js和SPA进行SAML2.0身份验证

关于如何解决看似简单的任务,我一直在摸不着头脑约2天,但它开始让我发疯.

我有一个应用程序,用户将使用SAML 2.0进行身份验证.我为前端设置了一个反应应用程序,并且认为我将使用JWT来确保前端和后端之间的rest-api通信.

当用户登录时,流程如下:

  1. 用户访问www.server.com/并通过react-application获取静态HTML
  2. 用户点击"登录"并访问www.server.com/login
  3. passport-saml将用户重定向到saml身份提供者.用户登录.
  4. 用户在req.body中使用SamlResponse回访www.server.com/callback,该版本由passport-saml解码并放入req.user.
  5. 如果用户尚不存在,我在数据库中创建用户.
  6. 我创建了一个JWT.

接下来我该怎么办?问题是,当从身份提供者回调时,用户不在react-application中,因此我已经丢失了应用程序中的所有状态,因此我回复的任何内容都将被发送到浏览器.

有什么办法可以强制浏览器给我一个identityprovider回拨的SamlResponse吗?然后我可以将它作为来自react-application的http请求发送到服务器.

node.js saml-2.0 reactjs passport-saml

12
推荐指数
1
解决办法
6927
查看次数

标签 统计

node.js ×1

passport-saml ×1

reactjs ×1

saml-2.0 ×1