问题标签 [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.
passport.js - 使用passport-saml 和Koa?
有没有人找到一种在 KoaJS 中使用 passport-saml 的方法?我已经设法确定了这个问题——passport-saml 使用 res.send,这在 koa 中不可用,但到目前为止我还没有找到解决方法。
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
node.js - 哪些文件用于 SAML 和 passport-saml
我正在尝试将 SAML 与 node.js 和 passport-saml 模块一起使用,但我不明白我应该使用哪个证书/密钥。
我有这些文件:
- 我的域名.crt
- mydomain.key
- 中级CA.crt
我需要设置decryptionPvk
,decryptionCert
并且privateCert
对于路由/元数据(使用decryptionCert
):
但我有以下错误消息:
node.js - 如何为节点应用程序的 SSO(单点登录)创建 SP(服务提供商)?
因此,我尝试使用 gbraad/passport-saml-example 在 SSO 上进行 POC,但显然该应用程序的 IDp 已停止提供,因此无法正常工作。作为一个新手,我有很多问题,如果有人可以帮助我回答这些问题,那就太棒了。1.代码有问题吗?2. 如果没有问题,我该如何测试?我的意思是,我们可以尝试另一个 IDp 3. 我们如何使用 saml2-js?有没有我可以参考的工作副本?
angularjs - 登录后如何重定向到“url”而不是“state”SAML-sso
目前我正在使用 SSO 登录我的应用程序。
我将页面的当前状态存储在变量 RelayState 中,并将其传递给 Login url,如下所示;
/login?RelayState=/home
登录后,这会将 URL 重定向到
但是现在我想更改 URL 而不是状态,我试图在登录后重定向到 URL https://my_host/new_home。
但不知道我怎么能做到这一点。是否有任何其他类似于 RelayState 的查询参数可以传递?我对这个 SSO 事情完全陌生。如果问题不清楚,任何人都可以帮助或让我知道。
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 填充”错误。
这是我的代码片段:
任何解决方法将不胜感激。
node.js - 使用 Node.js 和 SPA 进行 SAML2.0 身份验证
关于如何解决看似简单的任务,我已经摸索了大约 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 发送到服务器。
passport.js - 用于解码和验证签名 SAML 响应的护照 saml 问题
我们需要实现基于 SAML 的安全认证。我们的 IDP 将是 Okta 和 OneLogin。为此,我们在 node.js express 应用程序中使用“passport”+“passport-saml”。我们在 SP 端为 Okta 使用以下策略配置-
对于 OneLogin,我们使用-
但是对于 Okta,它给出的错误是“无法读取未定义的属性 'getAttribute'”,而对于 OneLogin,它给出的错误是“无效的签名”。此外,我们对模块进行了调试,发现 Okta 在查找算法时会中断,而对于 OneLogin,它能够解密“CipherData”,但在验证签名时会中断。
我们的私钥格式是-
请帮助我们解决这个问题。
node.js - Passport-SAML:读取用户信息
还是菜鸟!
我正在构建一个 Node 应用程序,并且我已经设置了各种所需的端点。我的项目的要求之一是使用 SAML 机制进行身份验证。我在我的应用程序中使用 passport-SAML 进行身份验证。
到目前为止,我已经能够设置和使用 SAML 策略,并且我的应用程序能够调用 idp 入口点,并接收来自 Idp 的响应。
我无法理解我们如何访问 idp 返回的用户信息,以便我可以使用 SAML 返回的用户信息来创建和维护会话。
以下是我的快递路线控制器
这是我从 Idp 收到的一个 SAML 属性片段。