问题标签 [sustainsys-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.
azure-active-directory - SustainSys 库不包括来自 Azure AD 的电子邮件声明?
我正在使用 IdentityServer3 进行身份验证,并且我还在Azure AD
IdentityServer3 中配置为外部提供程序。由于Azure AD
使用 SAML2 协议,我使用SustainSys库进行配置Azure AD
。
在 Azure AD 中,我已将有效负载配置如下。请注意,电子邮件包含在有效负载中
但是,在用户在 Azure AD 中进行身份验证后,请求返回到 IdentityServer,SustainSys 库不包括电子邮件声明。
我需要在 SustainSys 库中进行任何配置以包含电子邮件声明吗?在 IdentityServer3 我正在使用代码加载 Azure AD 提供程序
identityserver3 - 使用 SustainSys 在 IdentityServer3 中配置多个 SAML2 实例
在 IdentityServer3 中,我根据文档使用SustainSys库配置了多个基于 SAML2 的外部提供程序实例。
我让它工作了,但我对aka有疑问。(这不是外部提供商给我们的 EntityID,而是我需要提供给外部提供商的 EntityID)SPOptions.EntityID
Audience Uri
Audience Uri
这对于每个实例应该是唯一的吗?
可以说,我在生产中配置了 2 个 SAML2 提供程序实例(Okta 和 Azure AD),然后根据提供的示例代码,对于特定环境,这Audience Uri
将不是唯一的。
下面是我基于示例代码的代码。(为简洁起见,我删除了几行)
因此对于okata
并且对于Azure AD
请注意,这两个实例的受众 uri 是相同的。
对于每个实例,它是否应该是唯一的,例如:
identityserver4 - 从 SamlResponse 读取中继状态
我们将 SustainSys.Saml2 与 IdentityServer4 一起使用。
我们在这个问题中概述了以下工作流程如何在收到来自 OneLogin 的 SAML 响应后维护 returnurl
当我们ChallengeAsync
在被重定向到 OneLogin 以验证我们的用户并发送回 SamlResponse 之前发出 a 时,我们看到我们的 AuthenticationProperties 被传递给 SustatinSys 库代码并且它具有 relayData 和 returnPath 集但是当 OneLogin 发回给我们时,relaystate 不是returnurl/relayData 我们指定的。我们相信这是从这里https://github.com/Sustainsys/Saml2/blob/master/Sustainsys.Saml2/RelayStateGenerator.cs生成的值,作为 SamlAuthenticationRequest 创建的一部分。
是否应该将我们创建的中继数据传递给 SamlAuthenticationRequest 以便我们可以在成功登录后作为 SamlResponse 的一部分读取它,或者我们是否做错了什么并且需要在其他地方设置一些选项以便我们可以读取中继状态?
asp.net-mvc-5 - 在启用sustainsys OWIN 中间件时发出注销非SAML 身份验证用户的问题
使用sustainsys我正在尝试设置SAML身份验证以及通过应用程序形式进行标准用户名/密码身份验证的后门。
我可以通过 SAML 登录和注销,没有任何问题。
我可以通过应用程序内的表单登录,但是在注销时,虽然它确实成功注销了,但我得到了一个异常:
注销控制器如下所示:
中间件的设置如下:
我正在使用同一个控制器来注销 SAML 身份验证用户以及标准应用内用户名/密码身份验证用户。
对于 SAML 用户,注销工作没有问题。
当注销非 SAML 用户时,它会通过所有中间件,成功执行控制器,从而成功注销,但在此之后,它会抛出此异常。
我在调试此问题时遇到了一些困难,但我相信问题可能发生在Sustainsys.Saml2.WebSSO.LogOutCommand.InitiateLogout
诸如SessionIndex
查找声明之类的地方,但由于用户未使用 SAML 进行身份验证,因此当然不存在。
如果用户未通过 SAML 身份验证,我猜测身份验证处理程序甚至不应该命中此代码块。
我是否缺少一些配置来启用非 SAML 用户和 SAML 用户?
这里的例外真的很奇怪,所以我可能会因此而大失所望。
sustainsys-saml2 - 带有sustainsys-saml2 的.NetCore 代码什么都不做
我有一个 SSO 工作的 .Net MVC 项目。SSO 配置如下所示:
根据此处的示例: https ://github.com/Sustainsys/Saml2/tree/master/Sustainsys.Saml2.AspNetCore2
我在一个新的 .NetCore 应用程序中编写了这段代码:
当我启动应用程序时,浏览器直接进入索引页面。没有错误,什么都没有。当我检查 SAML Chrome 面板时,它根本没有显示任何流量。
我不希望我的代码能正常工作,但它至少应该做一些事情来给我一个提示,让我知道如何走得更远。
欢迎任何建议。
谢谢你。
S。
sustainsys-saml2 - SP 发起的 SLO 生成多个 SLO 请求
我正在使用sustainsys saml2 owin 包,但我遇到了由SP 启动的SLO 的问题。我是 saml 流程的新手,所以很有可能我做错了什么。
我们的注销工作流程如下:
- 用户点击 myapp.com/signout
- myapp 重定向到 myapp.com/saml2/logout
- owin包生成saml请求,发送到Idp的slo路由
- Idp 以对同一 url 的成功 saml 响应进行响应:myapp.com/saml2/logout
- 此时,owin 包正在生成另一个 saml 请求以将用户从 idp 中注销。如果 Idp 没有停止该过程,它将陷入无限重定向。
我使用https://github.com/mcguinness/saml-idp作为开发 Idp,这是我的 owin 配置的存根:
我怀疑我配置错误或者我不恰当地使用了 saml2/logout 路由,但我也觉得奇怪的是 owin 包在获得成功响应时会生成另一个请求。
2018 年 9 月 11 日更新
这是我从注销过程开始的详细日志:
这是我注销过程中的信息日志
在深入研究代码后,我发现是否执行以下操作:
...在我的 中Saml2AuthenticationOptions.Notifications
,它按预期工作。
从这里开始,我仍然怀疑我配置错误,或者 IDP 发送了错误的数据,但我不知道 StoredRequestState 在哪里被初始化。它似乎包含错误的 returnUrl。
c# - SAML Idp 创建耗时过长
我在我的代码中使用“ Kentor.AuthServices.dll ”和“Kentor.AuthServices.Mvc.dll”来允许使用 ADFS 服务器进行单点登录,它工作正常,但问题是它需要超过 1 分钟的时间显示adfs 登录屏幕。
我已经调试了代码并记录了时间,发现所有代码工作正常,但身份提供者创建代码需要 1 分钟以上。
我不明白为什么要花太多时间。
我把我的代码放在下面有人可以帮忙吗?
提前致谢。
c# - SAML2 AssertionConsumerService 端点的规范无效
我在尝试通过 IBM Security Access Manager(使用 Sustainsys.Saml2.Owin)进行身份验证时收到以下错误
这是错误代码的链接
我在另一个 IDP https://stubidp.sustainsys.com/上测试了代码,它正在工作。
也许不同之处在于测试 IDP (Stupidp) 是请求响应,但来自 IBM Security Access Manager 的是主动响应(Idp-initiated)。
但我已经设置AllowUnsolicitedAuthnResponse = true
这是附加在 IBM Security Access Manager 上的元数据
sustainsys-saml2 - SAML2 - 来自 IdP 发起请求的登录用户
我试图弄清楚如何使用 IdP 发起的请求和 Sustainsys SAML2 库在标准 Web 表单应用程序和启用 Owin 的 Web 表单应用程序中登录用户。
我在 Azure 上有 IdP,我可以发送请求,Azure 可以将带有 SAMLResponse 的 POST 发送到我的 ACS 端点。
但我不知道如何使用此令牌登录用户。Sustainsys 文档中没有示例。
关于 Azure IdP 基本 SAML 配置
IdP 工作正常,我可以看到带有令牌的 POST 到我的站点。但我认为有一些自动登录功能。但似乎我错了。
所以我的问题是:
- 我应该在哪里设置返回 url 以获得响应?ACS 端点是否正确?
- 如何使用处理程序和 Owin 处理令牌和登录用户?
asp.net-core - Sustainsys:错误:“IDX13102:读取 Saml2SecurityToken 的 '[PII is hidden]' 时引发异常。内部异常:'System.ArgumentException'。”
正在使用的 Nuget 包:
- Microsoft.AspNetCore.App - 2.1.1
- Microsoft.NETCore.App - 2.1.0
- Sustainsys.Saml2.AspNetCore2 - 2.2.0
点网核心版本:2.1.302
执行
在ConfigureServices(IServiceCollection services)
方法的startup.cs文件中添加以下代码:
身份验证由以下控制器操作触发:
https://SP-Server-xxxx/server/Saml2/Acs
与 ID 服务器的身份验证已成功完成,并在本文末尾根据 XML 以POST 请求的形式接收响应。但是,随后会返回以下错误,并带有 HTTP 代码 500:
请提出设置或实施有什么问题。
响应 XML:
更新:
设置IdentityModelEventSource.ShowPII
为 true 后,错误响应更改如下:
根据错误消息,我假设 ID 服务器需要使用有效的 URI 设置 AuthnContext。请确认。
以下是堆栈跟踪:
更新 2
感谢@Anders 的回复。由于我们无法控制 ipd,我已要求 idp 开发人员考虑上述更改。但与此同时,我们试图进一步挖掘这些选项。我已经提到了这里托管的文件之一:https ://media.readthedocs.org/pdf/saml2/latest/saml2.pdf 。2.18.1 节列出了 Element 的属性。它提到了IgnoreAuthenticationContextInResponse
属性。根据属性的描述,似乎将其设为 astrue
将解决上述错误。options.SPOptions.Compatibility.IgnoreAuthenticationContextInResponse
但是在 SPOtions ( ?)中配置 Compatibility 元素时我找不到这个属性
我们正在使用 Sustainsys.Saml2.AspNetCore2 包版本 2.2.0。
是不是该Compatibility.IgnoreAuthenticationContextInResponse
属性在 2.2.0 版本中还不可用?