问题标签 [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 回答
145 浏览

google-cloud-platform - 为其他企业创建 SSO 并列出目录用户的应用程序?

我正在尝试创建一个 Web 应用程序。这个应用程序是一个 B2B PAS 模型。该应用程序的功能之一是,使用 GSuite 的组织可以登录我们的系统,然后其所有用户都可以使用其组织的 google id 登录我们的软件。但是,在应用程序中,一个用户可以将任务分配给组织中的另一个用户。所以我们的应用程序也应该能够列出该组织的所有用户。

如何实现这两个功能?

通过从 Gsuite 管理控制台创建自定义应用程序,我尝试了 SAML 方法。但是,是否可以将 SAML 扩展为也列出 SAML 应用所属组织的用户?(基本上尝试使用Google Cloud Directory API

如果纯 SAML 不起作用,我应该寻找哪些其他替代方法?

我正在使用的 PS 技术堆栈是 Nest JS 用于后端,Angular 用于前端

0 投票
1 回答
248 浏览

react-admin - 如何在 react-admin 中连接 authProvider 以使用 SAML?

我已经尝试按照 passport-saml 站点上的示例代码以及 react-admin 站点上的 OAuth 高级教程进行操作,但无法弄清楚我需要对 authProvider 做什么才能获得经过身份验证的会话使用 SAML 在 react-admin 中可用。

我目前可以通过 OneLogin 登录我的应用程序(单击面板中的应用程序)并写出用户的信息(在 passport.serializeUser 函数中),所以我知道该部分正在工作,但我不确定如何获取该信息传递给 authProvider。

当您提交表单时,authProvider 上的登录功能会被触发,因此如果我可以复制 OneLogin 在我单击应用程序时发送的内容,我可能会在 authProvider.login 中进行该调用并创建一个在加载时提交的自定义登录页面而不是等待提交,但这似乎不是故意的。

我在这里错过了什么,有没有更好的选择我没有考虑?

0 投票
1 回答
453 浏览

node.js - Passport-saml 元数据 xml 配置

我正在尝试在我的项目中使用 passport-saml 进行身份验证。到目前为止,我能够使用 passport.generateServiceProviderMetadata(decryptionCert) 来生成以下 metadata.xml:

SamlStrategy 配置:

为了满足 IDP 的要求,我需要进行一些更改:

  1. 将 AuthnRequestsSigned="false" 和 WantAssertionsSigned="true" 添加到 SPSSODescriptor 标记
  2. 将 KeyDescriptor 更改为使用“签名”而不是“加密”并删除 EncryptionMethod 标记
  3. 对 SingleLogoutService 使用 SOAP 绑定而不是 HTTP-POST

这是我想要实现的 metadata.xml:

有没有办法配置护照以生成上述元数据?还是我应该手动创建它?任何帮助或建议将不胜感激!

0 投票
1 回答
440 浏览

passport-saml - 使用 Passport-SAML 检索 RelayState 值

我无法检索 RelayState 值。有人可以指导我或提供相关文档的链接。

到目前为止,这就是我的设置和路线。

设置

路线

0 投票
0 回答
144 浏览

logout - 使用 Passport saml 注销 Google IDP

我正在使用 passport-saml 通过 Google IDP(SAML APP)对用户进行身份验证

我的 SAML 策略配置如下

使用 Passport SAML 策略,我能够成功登录

在注销时,我正在注销 SAML 策略,如下所示

这使我退出所有登录浏览器的 Google 帐户。

问题:

  1. 有没有办法只从我用于 SAML 策略的特定 Google 帐户注销?
  2. 注销回调 url 也不会被调用
0 投票
0 回答
788 浏览

node.js - 使用 passport-saml 的 SSO 回调不起作用

我目前正在使用passport-saml. 该流程与GET端点一起工作,直到回调到处理POST请求的端点。如果我在passport.authenticate('saml', { failureRedirect: '/' })那里添加,结果是:<pre>Cannot POST /support</pre>并且我从身份验证服务器获得的 SAMLResponse 没有任何日志。我尝试了另一个 SAMLResponse,我从这里获取:

https://developer.signicat.com/documentation/authentication/protocols/saml-2-0/example-saml-response/

我在日志中收到许多 xmldom 警告和错误,例如:[xmldom error] element parse error: Error: invalid attribute:(��s和 result <pre>Cannot POST /support</pre>,也是。

这是我的实现和配置:

引导.js:

护照.js

我需要检查证书。

passport-saml 文档中,该示例没有-----BEGIN CERTIFICATE----------END CERTIFICATE-----。它是否与它一起工作,没有或只有没有,并且证书作为单线?

0 投票
1 回答
65 浏览

passport-saml - Saml 策略验证回调没有被调用

根据 passportjs 文档,应该调用验证器函数。但我没有看到这个回调。

我正在用 okta 测试这个。在 okta 中,应用程序配置为将 saml 响应发送到 /fromokta okta 正在重定向到 /fromokta 我错过了什么?

0 投票
0 回答
207 浏览

reactjs - 如何使用 passport-saml 和 express js 为 sso 配置带有 react js 应用程序的 ADFS?

我有需要 sso 的 reactjs 应用程序。我决定将 ADFS 作为我的 IDP。如何使用我的 react js 应用程序配置 adfs。如何在 reactjs 中为 sso 使用护照 saml?我可以有详细的步骤来配置它,因为我是这个 sso 概念的新手,所以感觉很难执行。我已经尝试了这个 url 中给出的步骤,但我没有取得任何进展。没有从我的 sp 生成 Saml 请求。我一无所知。非常感谢您对此查询的指导,并在此先感谢您。

0 投票
0 回答
86 浏览

node.js - http SAML 获取请求未重定向到 url 位置

我正在使用 passport-saml 并试图让我的重定向在获取请求上工作。但是我从服务器得到的响应是纯 HTML。如何让它在新页面中加载 HTML?

我得到整个 html 页面作为响应,而我希望页面重定向到 url 位置进行登录。

任何帮助将不胜感激。

0 投票
1 回答
218 浏览

express - 护照 saml 如何将配置文件数据传递给路由

当我创建 passport-saml 策略时,在登录期间,有一个配置文件对象传递给中间件函数,其中包含 nameID 信息。我需要该信息以稍后调用注销。

index.js

getLogout 函数从另一个文件导入,我硬编码,我nameID如何nameIDFormat从开始的profile对象中获取它们,将它们保存在某个地方,并将它们传递给这个路由?

我的第二个问题是,我从中获取 samlStrategy 对象req._passport?.instance?._strategies?.saml,这是获取它的正确方法吗?或者,同样的问题,我怎样才能从一开始就将 saml strategy obj 传递给这条路线?

谢谢你的帮助!