问题标签 [itfoxtec-identity-saml2]

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 回答
19 浏览

itfoxtec-identity-saml2 - 支持范围和 IDPList

我想在 SAML 身份验证请求中使用“范围”和“IDPList”选项,以便从应用程序中自动选择外部 IdP。是否支持此功能?

0 投票
1 回答
81 浏览

itfoxtec-identity-saml2 - 使用 .Net Framework CertificationValidationMode 被忽略?

所以我有两个演示应用程序要测试。一个在 .net 4.7 中,另一个在 .net core 3.1 中。运行应用程序时,我会得到不同的结果,具体取决于所使用的应用程序。

在他们两个中,我都将 CertificationValidationMode 设置为 None。

在 .Net 核心中,我收到此错误:

这很好,因为我修改了断言以延长测试时间,此时我假设验证被绕过并且由于不匹配而失败。

在 .Net Framework 中,出现此错误:

在这里,我认为验证正在发生,它没有被绕过,并且失败了。基本上忽略验证模式。

我想错了吗?谢谢

0 投票
2 回答
407 浏览

asp.net-core-5.0 - ITfoxtec.Identity.Saml2 - 使用 Asp.net Core Identity 的多种身份验证方案

我知道这里给出的答案是关于使用表单身份验证和 SAML。在我的情况下,我在 .Net 5 上使用 Asp.net 核心身份。另外,我使用两种身份验证方案(Cookie 和 JWT)。

我的身份验证管道如下;

我想知道的是我应该在这个管道中的哪里添加 SAML2。

一般来说,应用程序应该;

  1. 能够使用 Cookie 身份验证登录(Identity 负责此操作)
  2. Jwt 令牌应该也适用于 Apis(这也适用于 Jwt 方案)
  3. SSO 客户端应该从他们的 IdP 获得身份验证,当重定向到 AssertionConsumer() 时,我将创建其他声明,创建新的 ClaimsIdentity,创建 JWT 令牌(将其传递给客户端)并将用户带到仪表板。

我被困在第三点,即正确添加 SAML 方案而不覆盖 cookie/jwt 方案。

0 投票
1 回答
124 浏览

itfoxtec-identity-saml2 - ITfoxtec.Identity.Saml2.Saml2RedirectBinding - 没有 ds:Signature 元素的 AuthnRequest

我正在尝试实现 ITfoxtec.Identity.Saml2 库以通过重定向绑定将 AuthnRequest 发送到 IdP。IdP 要求在 AuthnRequest 中显示 ds:Signature 元素,但是当我按照此处true的建议将 saml2Configuration.SignAuthnRequest 设置为时,Signature 元素仍然不存在。它适用于后期绑定,但我想使用重定向绑定。

在我看到的代码XmlDocument = XmlDocument.SignDocument(...)中有Saml2PostBinding.BindInternal()但它不在Saml2RedirectBinding.BindInternal()

是否有任何理由为什么它不在重定向绑定中?我能以某种方式在那里获得签名元素吗?

谢谢你。

0 投票
1 回答
462 浏览

angular - 重定向到带有 SAML 响应的回调 url 时出现错误无法以角度发布

我在将托管在 AWS 上的 Angular 应用程序中使用 SAML 身份验证。我正在使用角度代码作为单独的项目,并且代码是在不同的项目中编写的。我在我的 webapi 中使用了 Itfoxtec saml 库。在我的项目中,我从角度调用 webapi,流程如下所示

  • 最终用户访问 http://localhost:1010 上的网站
  • 为了测试,我调用了我的第一个 webapi,它返回了 IDP url 以重定向到
  • 我的 Angular 应用程序,将最终用户路由到相应的 IDP url 和 IDP 服务器,然后将用户重定向到带有 SAML 响应的回调 URL。在我的情况下,我尝试将我的回调 URL 设置为 http://localhost:1010/Auth/AssertionComponenet ,这是角度组件
  • 我的想法是调用另一个 webapi 来读取 SAML 响应并提供所有声明信息

但是当 IDP 服务器将用户重定向到回调 url 时我收到错误,这是 angular URL。错误是:无法发布 /Auth/AssertionComponenet

这个问题有什么解决办法吗?我读了一些帖子,他们说 angular cant read post response,所以不知道下一步。

如果我将回调 URL 设置为我的 webapi URL,这是否有效,即使有效,在验证使用后我将如何返回角度主页。

0 投票
1 回答
88 浏览

webforms - itfoxtec-identity-saml2 .net 框架 4.6 网络表单指南

我有一个针对 4.6.2 的 ASP.Net 网络表单应用程序。我认为可以使用 itfoxtec-identity-saml2 将所述应用程序转换为 SP,但我没有看到任何关于如何实现这一点的说明。

请问有人可以提供一些指导吗?

谢谢

0 投票
1 回答
30 浏览

asp.net - 能否使用 ITfoxtec SAML 2.0 继续登录 Azure 中的示例项目?

我正在为 TestWebApp(ASP.NET MVC) ITfoxtec / ITfoxtec.Identity.Saml2 验证 AAD-SSO。
我确认登录 -> AAD 登录 -> 重定向到应用程序,但应用程序仍未登录。
我将“https://localhost:***/Metadata”指定为重定向 Uri。
我检查了另一篇文章的其他设置。然而,这意味着该应用程序只制作一个 xml 文件。

有没有人在app上成功登录的告诉流程?
还是我必须建立新的逻辑?
例如逻辑)从 AAD 接收会话和

0 投票
1 回答
92 浏览

.net-core - .NetCore 身份验证 cookie 不会在所有请求中持续存在 [Inermittent 问题]

我们有一个提供 sso 身份验证的应用程序。其他三个应用程序从 sso 应用程序获得身份验证。用户登录所有应用程序后,我启动了 sso 注销。sso app 向 app1 发送注销请求,然后 app1 以 SAML 注销响应响应。一旦 sso app 收到 SAML 注销响应,它将向 app2 然后向 app3 发送注销请求。有时整个流程运行良好,有时则不行。我已经看到,当 app2/app3/app1 响应时,sso 应用程序身份验证 cookie 从浏览器中消失了,并且该请求对于 sso 应用程序变得未经验证,并且用户无法从所有应用程序中注销。

认证中间件:

您能否让我知道是什么原因以及为什么在应用程序之间重定向 2-3 次后身份验证 cookie 消失了?

0 投票
1 回答
74 浏览

itfoxtec-identity-saml2 - 如何从 Azure 函数发出 IdP SAML 请求?

我有一个简单的 C# Web 应用程序作为一系列 Azure Functions 实现。我希望能够将用户重定向到外部网站,当他们单击我的应用程序中的按钮时使用 SSO 登录。外部网站是 Absorb 的一个实例。Absorb提供了通过 SSO 使用商业产品ComponentSpace库来完成此操作的指南。

我想使用ITfoxtec SAML 2.0库,因为它是免费和开源的(尽管任何免费/开源库都可以)。

我的问题如下:

  1. 如何将 Saml2Assertion 添加到 Saml2AuthnResponse?
  2. 如何使用 redirectBinding 返回 HttpResponseMessage?

这是我到目前为止所拥有的:

0 投票
1 回答
326 浏览

asp.net-core - 使用 ITfoxtec.Identity.Saml2 启动的 SAML 2.0 注销 SP

前提:我对使用 SAML2.0 和库 ITfoxtec.Identity.Saml2 还是很陌生。在我的场景中,我在 asp.net core 中实现了一个 web 应用程序,基本上基于库中包含的示例 TestWebAppCore。作为 IDP,我使用过 Keyloack 和 Okta。我登录没有问题。我的问题随着注销而上升。当 IDP 启动注销时,我没有问题:我已经在 IDP 上配置了单点注销(SingleLogout web Api)的端点并且一切正常我的问题是我的网络应用程序何时启动注销。工作流程如下:在我的页面某处有一个注销按钮,它调用注销 Web-Api

然而,问题似乎并不在这里。问题是 IDP 调用总是 SingleLogOut Web API。我认为在这种情况下这是不正确的:在这种情况下,IDP 必须调用 LoggedOut Web API

当然在这种情况下会引发以下异常“HTTP Form does not contain SAMLRequest”

问题是我找不到在 IDP 上配置 LoggedOut 端点的方法。

我的问题是:从我的网络应用程序中启动注销的方式是否有问题?或者是否有一种方法可以从代码中在请求中设置 IDP 必须给我打电话的端点(注销)?或者在这种情况下,我的 IDP 配置肯定有问题,有人知道我可以使用其他 IDP 进行测试吗?