问题标签 [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.
webforms - 如何为 WebForms 和数据库身份验证实施 IdP 发起的 SAML
我第一次承担了实施 SSO 的任务。我将作为 IdP 从面向客户的应用程序(又名 CustomerApp)到我母公司的服务应用程序(又名 ParentApp)实施。CustomerApp 用户将通过单击 CustomerApp 中的按钮链接访问 ParentApp。CustomerApp 还通过具有数据库持久性的表单身份验证处理登录。谢天谢地,我找到了您的框架(ITfoxtec Identity SAML 2.0),但我似乎没有找到 .NET WebForms 的示例项目。是的,它很旧。我正计划将 IdPInitiatedController 转换为我的项目,以便我可以将属性发布到 ParentApp。还是我应该查看 TestIdPCore 项目中的代码?我不确定我是否需要整个登录/注销的东西。请指教。谢谢你。
asp.net-core - InvalidSaml2BindingException:不是 HTTP GET 方法
我正在将ITfoxtec.Identity.Saml2.MvcCore 4.0.7 与来自GitHub ITfoxtec的TestWebAppCore和TestIdPCore一起使用。
当我从 Visual Studio 运行此示例时,我没有收到任何错误,并且一切正常。但是,当我将这些示例部署到 Windows server 2019 上的 IIS 10 时,我在测试时遇到错误SecurePage
,请参阅下面的错误。
看起来ITfoxtec.Identity.Saml2.Saml2RedirectBinding.Read
方法在示例程序中接收POST请求而不是GET。
你能帮我解决这个例外吗?
处理请求时发生未处理的异常。
InvalidSaml2BindingException:不是 HTTP GET 方法。Saml2RedirectBinding.cs 中的 ITfoxtec.Identity.Saml2.Saml2RedirectBinding.Read(HttpRequest request, Saml2Request saml2RequestResponse, string messageName, bool validateXmlSignature),第 151 行
堆栈查询 Cookie 标头路由
InvalidSaml2BindingException:不是 HTTP GET 方法。Saml2RedirectBinding.cs 中的 ITfoxtec.Identity.Saml2.Saml2RedirectBinding.Read(HttpRequest request, Saml2Request saml2RequestResponse, string messageName, bool validateXmlSignature)
throw new InvalidSaml2BindingException("不是 HTTP GET 方法。"); ITfoxtec.Identity.Saml2.Saml2Binding.ReadSamlRequest(HttpRequest request, Saml2Request saml2Request) 在 Saml2Binding.cs { TestIdPCore.Controllers.AuthController.ReadRelyingPartyFromLoginRequest(Saml2Binding binding) 在 AuthController.cs 返回 binding.ReadSamlRequest(Request.ToGenericHttpRequest(), new Saml2AuthnRequest( config))?.Issuer; AuthController.cs 中的 TestIdPCore.Controllers.AuthController.Login() var dependingParty = ValidateRelyingParty(ReadRelyingPartyFromLoginRequest(requestBinding)); lambda_method(闭包,对象,对象[])Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(对象目标,对象[]参数)Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute(IActionResultTypeMapper映射器,
亲切的问候
itfoxtec-identity-saml2 - 如何为 IdP Saml2 响应的自定义声明类型添加属性
我为我的 WebForms 项目转换了 IdPInitiatedController 示例代码。尽管我没有收到编译器或运行时错误,但在设置声明标识后,我似乎仍然无法将手动创建的声明添加到 Saml2AuthnResponse 对象中。是否有另一种方法可以向 SAML 响应添加属性?该应用程序使用表单身份验证;并且凭据位于 SQL 数据库中。这就是我没有 Windows 身份的原因。
oracle - 错误:使用 ITfoxtech Saml2 的“不完全有一个断言”
我正在使用带有 .net 核心的 Itfoxtech SAML 2.0。但我收到错误“不完全是一个断言”。Itfoxtech 是否与 Oracle Access Manager 一起使用?你能给我澄清一下签名和认证吗?我需要使用证书来获取会话吗?
itfoxtec-identity-saml2 - 身份验证完成后的 ERR_HTTP2_PROTOCOL_ERROR
我正在尝试使用内部 IdP 在 .NET Core 3.1 Web 应用程序上使用 ITfoxtec.Identity.Saml2.MvcCore。
它在我们的测试服务器(Windows Server 2012,托管在 IIS)上运行良好,但我无法让它在任何其他服务器上运行。
这就是发生的事情:
对网站的初始调用被正确识别为未经身份验证的调用,并且用户被发送到用户照常登录的 IdP。然后将 SAML 令牌发送回 Web 应用程序断言消费者服务,在该服务中,一切似乎都在执行应有的操作,saml2AuthnResponse.Status 具有状态码 Saml2StatusCodes.Success 并且日志文件显示“AuthenticationScheme:saml2 已登录”。然后它读取 ReturnUrl 参数并记录类似“Executing RedirectResult”的内容,但随后它就停止了。日志文件中没有任何内容,IIS 日志中也没有任何内容。用户通过消息遇到
This site can’t be reached
...
ERR_HTTP2_PROTOCOL_ERROR
简而言之,每个具有 [Authorize] 属性的控制器都会给出 ERR_HTTP2_PROTOCOL_ERROR 错误。当我删除所有 [Authorize] 属性时,应用程序运行良好,尽管没有身份验证。
我还尝试了 ITfoxtec.Identity.Saml2 的 github-page 中的示例 TestWebAppCore-application,它给出了相同的错误。它在我们的 2012 测试服务器上工作,但在其他地方没有。
我可以尝试任何想法吗?
itfoxtec-identity-saml2 - 使用 ITfoxtec SAML 2.0 在 Azure 中配置 SAML 单点登录
我正在尝试在 .Net Core 3.1 中实现 SAML 身份验证。我正在使用TestWebAppCore
这个官方repo中的示例项目。
我有以下值,我需要调整将 Azure AD 作为身份提供者的示例项目:
Login URL
Azure AD Identifier
Logout URL
- 我也有一个
.xml
和一个.cer
文件。
我的问题是:
Login URL
是配置SingleSignOnDestination
?Logout URL
是配置SingleLogoutDestination
?Azure AD Identifier
是配置IdPMetadata
?- 我可以删除引用
SigningCertificatePassword
(.pfx
文件)的代码并添加对我的.cer
文件的引用吗? - 我需要使用该
xml
文件吗?在哪里?
saml - ITfoxtec SAML 2.0 会话超时
我在 ITfoxtec.Identity.Saml2.Mvc 包的帮助下使用 SAML2.0 AUTH,但我需要将会话超时增加到 2 到 3 天。但目前有默认值。我们如何覆盖会话超时。使用 .net 核心 3.1
c# - 使用 ITfoxtec.Identity.Saml2 映射 SAML 声明
我正在使用TestWebAppCore项目来测试 ASP.NET Core Web 应用程序的 SAML 集成,我认为我可以正常工作,但与用户会话相关联的声明不是 SAML 响应中 IdP 返回的声明而且我不确定映射返回的声明需要什么额外的配置。
单击登录后,我将重定向到我的 IdP,登录后我的 IdP 会以以下 SAML 响应进行响应(部分已删除以保持问题简短):
登录后我被重定向到主页,我看到“嗨,edde16f1-9fee-4e44-9c4d-3810a3a6f73a”,所以我点击“SAML Claims”,页面显示:
此列表不包括我想从 IdP 获得的 SAML 响应中使用的声明,因此我尝试ClaimsTransform
通过稍微修改代码来在类中添加声明:
但是对代码的这种更改会导致Claim
类出错:
GivenName
无论我添加索赔还是索赔地址,值似乎都为空。我是否缺少其他配置,可以让我使用“AttributeStatement”部分中的声明?
更新
代码的进一步阅读让我感到困惑,在AssertionConsumerService
测试代码创建一个全新的路径中SAMLResponse
?新响应不包含 IdP 响应中的任何属性,这可以解释为什么没有声明。
如果这是代码应该如何工作,是否可以在生成的新响应中包含来自 IdP 响应的声明ITfoxtec.identity.saml2
?
代码AssertionConsumerService
:
azure - Azure B2C 注销请求签名
我使用 Azure AD B2C 作为 SAML IDP。它工作得很好,期待 SingleLogout 流程。当 B2C 的 LogoutRequest 来到(我的应用程序)ITfoxtec 时,它会崩溃,因为此请求未签名。我不能强制 Azure AD B2C 对其请求进行签名,也不能跳过 ITfoxtec 的签名验证。你能帮忙修一下吗?
最好的问候, 亚历山大·佐洛塔列夫