问题标签 [passport-saml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
473 浏览

passport.js - 使用passport-saml 和Koa?

有没有人找到一种在 KoaJS 中使用 passport-saml 的方法?我已经设法确定了这个问题——passport-saml 使用 res.send,这在 koa 中不可用,但到目前为止我还没有找到解决方法。

0 投票
2 回答
1111 浏览

passport.js - 护照-saml 与 idp 的集成

我的应用程序需要与 SAML IDP 集成,我使用的是用于 node.js 的 passport-saml,下面是配置

我知道证书参数是来自 IDP 的证书(公钥),但是 privateCert 和 decryptionPvk 是什么。我将私钥 key.pem 作为 privateCert 并将公钥 (cert.pem) 作为 decryptionPvk 传递,但它不起作用。我使用以下命令生成密钥和证书: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900

0 投票
1 回答
1205 浏览

node.js - 哪些文件用于 SAML 和 passport-saml

我正在尝试将 SAML 与 node.js 和 passport-saml 模块一起使用,但我不明白我应该使用哪个证书/密钥。

我有这些文件:

  • 我的域名.crt
  • mydomain.key
  • 中级CA.crt

我需要设置decryptionPvkdecryptionCert并且privateCert

对于路由/元数据(使用decryptionCert):

但我有以下错误消息:

0 投票
1 回答
861 浏览

node.js - 如何为节点应用程序的 SSO(单点登录)创建 SP(服务提供商)?

因此,我尝试使用 gbraad/passport-saml-example 在 SSO 上进行 POC,但显然该应用程序的 IDp 已停止提供,因此无法正常工作。作为一个新手,我有很多问题,如果有人可以帮助我回答这些问题,那就太棒了。1.代码有问题吗?2. 如果没有问题,我该如何测试?我的意思是,我们可以尝试另一个 IDp 3. 我们如何使用 saml2-js?有没有我可以参考的工作副本?

0 投票
1 回答
551 浏览

angularjs - 登录后如何重定向到“url”而不是“state”SAML-sso

目前我正在使用 SSO 登录我的应用程序。

我将页面的当前状态存储在变量 RelayState 中,并将其传递给 Login url,如下所示;

/login?RelayState=/home

登录后,这会将 URL 重定向到

https://my_host/#/home

但是现在我想更改 URL 而不是状态,我试图在登录后重定向到 URL https://my_host/new_home

但不知道我怎么能做到这一点。是否有任何其他类似于 RelayState 的查询参数可以传递?我对这个 SSO 事情完全陌生。如果问题不清楚,任何人都可以帮助或让我知道。

0 投票
1 回答
1429 浏览

node.js - passport-saml lib 无法使用私有解密密钥正确解密 saml EncryptedAssertion

我有一个需要解密的加密 SAML 2.0 响应/断言。格式如下所示:

我还有一个私有解密密钥,格式如下:

我在这里尝试使用 OneLogin 的 saml 解密工具来解密加密的 SAML 断言(复制+粘贴到该输入框),它就像一个魅力。 https://www.samltool.com/decrypt.php

但是,当我尝试使用 nodejs、passport-saml 导入私钥文件并尝试解密响应时,如果我省略 ("-----BEGIN----"或“---END---”横幅),或者它收到“无效的 RSAES-OAEP 填充”错误。

这是我的代码片段:

任何解决方法将不胜感激。

0 投票
2 回答
1078 浏览

passport.js - 如何为 loopbackJS 应用程序配置 SAML2 身份验证

我想使用 SAML2.0 和OneLogin保护基于环回的应用程序。我相信我应该使用loopback-component-passportandpassport-saml模块来实现我的目标。但是,我真的很难找到任何可以帮助我实现用例的好的文档。似乎提供的样本已过时且不那么准确。您是否有任何有用的指示或建议可以帮助我入门。

谢谢

0 投票
2 回答
11624 浏览

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

关于如何解决看似简单的任务,我已经摸索了大约 2 天,但它开始让我发疯。

我有一个应用程序,用户将使用 SAML 2.0 进行身份验证。我为前端设置了一个 react-application,并想我会使用 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,该 SamlResponse 由 passport-saml 解码并放入 req.user。
  5. 如果用户不存在,我在数据库中创建用户。
  6. 我创建了一个 JWT。

接下来我该怎么办?问题是当从身份提供者回调时用户不在反应应用程序中,所以我已经丢失了应用程序中的所有状态,所以无论我回复什么都会被发送到浏览器。

有什么办法可以强制浏览器给我身份提供者正在回调的 SamlResponse?然后我可以将它作为来自 react-application 的 http-request 发送到服务器。

0 投票
1 回答
1532 浏览

passport.js - 用于解码和验证签名 SAML 响应的护照 saml 问题

我们需要实现基于 SAML 的安全认证。我们的 IDP 将是 Okta 和 OneLogin。为此,我们在 node.js express 应用程序中使用“passport”+“passport-saml”。我们在 SP 端为 Okta 使用以下策略配置-

对于 OneLogin,我们使用-

但是对于 Okta,它给出的错误是“无法读取未定义的属性 'getAttribute'”,而对于 OneLogin,它给出的错误是“无效的签名”。此外,我们对模块进行了调试,发现 Okta 在查找算法时会中断,而对于 OneLogin,它能够解密“CipherData”,但在验证签名时会中断。

我们的私钥格式是-

请帮助我们解决这个问题。

0 投票
3 回答
3383 浏览

node.js - Passport-SAML:读取用户信息

还是菜鸟!

我正在构建一个 Node 应用程序,并且我已经设置了各种所需的端点。我的项目的要求之一是使用 SAML 机制进行身份验证。我在我的应用程序中使用 passport-SAML 进行身份验证。

到目前为止,我已经能够设置和使用 SAML 策略,并且我的应用程序能够调用 idp 入口点,并接收来自 Idp 的响应。

我无法理解我们如何访问 idp 返回的用户信息,以便我可以使用 SAML 返回的用户信息来创建和维护会话。

以下是我的快递路线控制器

这是我从 Idp 收到的一个 SAML 属性片段。