问题标签 [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.
c# - 如何逐步将 Saml 集成到 .Net Core 应用程序中
我担心如何集成SAML。我试图通过文档,但我没有发现任何有用的东西。任何人都可以帮我解决这个问题吗?
oauth-2.0 - IdentityServer4 与 Sustainsys.Saml2 进行 OAuth SAML 断言
我在制作符合 RFC-7522 的样本时遇到问题。我拥有的是IdentityServer4 (v2.2.0)作为 oAuth授权服务器(.NET Core 2.0,控制台应用程序)和不同的 SAML2 IdP。现在我想使用 Saml Assertion 来验证用户。
作为灵感,我使用了这个视频,其中 Brock Allen 和 Dominick Baier 描述了如何设置 SAML2 处理程序。
但可悲的是,我一开始就被困在我只想将该片段粘贴到我的代码中,并且每次我最终都会遇到不同的编译错误(取决于我使用的nuget)。不幸的是,我没有解决它们的运气。
片段:
常见的Nuget:
- IdentityModel.Unofficial (2.8.1)
- 身份服务器4 (2.2.0)
- Microsoft.AspNetCore.All (2.0.3)
- Microsoft.IdentityModel.Tokens.Saml (5.2.4)
- Sustainsys.Saml2.AspNetCore2(见下文)
场景 #1:Sustainsys.Saml2.AspNetCore2 (0.24.0)
包“Sustainsys.Saml2.AspNetCore2 0.24.0”是使用“.NetFramework, Version=v4.6.1”恢复的。本期和本期提到的内容。最重要的是,我几乎没有编译错误,可能会中断为“类型'EntityId'和'SecurityKeyIdentifierClause'是在未引用的程序集中定义的。”
场景 #2:Sustainsys.Saml2.AspNetCore2 (2.0.0-preview01)
缺少整个 Sustainsys 命名空间,它被 Kentor.AuthServices 替换。未找到参考 .AddSaml2(..)。
owin - 如何让 md:NameIDFormat 出现在 SAML2 元数据输出中?
我的 SAML2 “工作”(身份验证:成功)但 shibboleth 没有向我发送任何索赔数据,我只需要用户电子邮件 :)
陈词滥调的人告诉我将其添加到我的 SAML2 元数据中……它显然不存在。
我们正在使用来自https://github.com/Sustainsys/Saml2/的 OWIN 中间件来让这一切正常工作,但它的配置非常好?
TL;博士; md:NameIDFormat 不在 SustainSys SAML2 元数据输出中
saml - 使用 Identity Server 3 和 SAML 进行重新身份验证
我已经基于此示例使用 SAML 实现了 Identity Server 3:https ://github.com/Sustainsys/Saml2/tree/master/Samples/SampleIdentityServer3
一切正常,但 SAML 身份提供程序(DigiD)需要重新身份验证。这是通过再次发送 SAML AuthnRequest 来完成的。
有谁知道如何从 Identity Server 3 再次发送 SAML AuthnRequest?我尝试使用刷新令牌,但这似乎不会触发另一个 SAML AuthnRequest。
owin - 向 Idp-Sustainsys Saml2 发送登录请求
我想为每个未经身份验证的请求向我的 Web 应用程序发送 IdP 登录请求。我正在使用Sustainsys.Saml2.Owin
. 我正在使用默认的 StubIdp。
在配置方法中,我添加了一个过滤器,用于检查传入请求是否经过身份验证。如果不是,我会发出 OWIN 挑战。
我的问题是,OWIN 挑战没有将应用程序重定向到 StubIdp 登录页面。我在这里想念什么?
以下是Startup.Auth.cs
类的代码
如果我从 cshtml 页面发出请求,例如;
然后它工作。为什么我不能从 OWIN 过滤器发出质询?
.net - 提取 Sustainsys SAML 2.0 断言
我的任务是通过 Sustainsys (Kentor) 库为我目前正在进行的项目设置 SAML 2.0 单点登录。这是我一直在关注的文档。该网站是一个网络表单应用程序,因此我使用的是Sustainsys 库的HTTPModule部分。我已将 IDP (Okta) 配置为将 SAML 2.0 断言发送到文档宣布端点为/Saml或/Saml/Acs的网站。该站点是一个 Kentico CMS 网站,CMS 提供了一个 API,用于使用用户名作为验证用户的参数来验证用户。
我很难弄清楚的部分是,一旦断言通过了 Sustainsys,我如何在我的应用程序中访问该数据,以便我可以查看声明、提取用户名并验证用户身份?该文档描述了如何配置系统,但似乎没有描述如何使用它。
saml-2.0 - 如何在身份服务器 3 中为 Sustainsys 外部提供商设置 acr 值
我Idsvr3
在 SQL 中有本地用户帐户。此外,我还使用https://github.com/Sustainsys/Saml2配置了支持 SAML2 的外部身份提供程序,我遵循了此处的示例
现在,当用户访问客户端应用程序时,他会被重定向到登录页面,该页面显示用于本地登录的用户 ID/密码文本框,还有一个用于重定向到外部提供商的按钮。
我想改变这种行为。我希望用户根据某些条件直接转到外部登录。我读过我可以将所需的登录提供程序传递给acr_values
IdSvr3 将直接转到外部提供程序。
这是我注册外部提供商的方式IdSvr3
(注意,为简洁起见,删除了一些代码)
这是客户端应用程序启动
但是身份服务器抛出错误External login error: provider requested saml2 is not a configured external provider
提供者的有效名称Sustainsys/Saml2
是什么,它在哪里配置?
asp.net-identity - 如何在 SAML2 或 WS-Federation 中请求声明?
我有当前配置为使用IdP
OpenID Connect 协议的 ASP.NET MVC 应用程序(带有 OWIN)。在 OpenId Connect 中,我可以使用 Scope 值作为 singin 请求的一部分来请求声明。例如。
作为回报,将IdP
这些声明包含在令牌中,应用程序 (SP) 可以访问它们。
IdP
现在我想在我的应用程序中再配置两个,一个SAML2
用户和另一个用户WS-Federation
。对于 SAML2 Idp,我使用的是SustainSys库,对于 WS-Federation,我使用的是Microsoft.Owin.Security.WsFederation库。
我认为scopes
仅对 OpenID Connect 协议有效,对于其他 2 个协议,我如何请求我的应用程序需要的这些声明?
salesforce - 使用签名中包含的密钥正确验证了签名,但该密钥不受信任
我正在尝试将 SAML2 IdP 配置Salesforce
为 IdentityServer3 中的外部提供程序。我正在使用SustainSys/Saml2库。因此,出于测试目的,我下载了SampleIdentityServer3。并配置 SAML2 IdP,如下所示
请注意,如果我没有设置MinIncomingSigningAlgorithm
为 sh1,那么 SustainSys 库会引发错误。
Sustainsys.Saml2.Exceptions.InvalidSignatureException:签名算法http://www.w3.org/2000/09/xmldsig#rsa-sha1弱于最低接受 http://www.w3.org/2001/04/ xmldsig-more#rsa-sha256。如果要允许此签名算法,请使用 minIncomingSigningAlgorithm 配置属性。
所以我设置为MinIncomingSigningAlgorithm
摆脱"http://www.w3.org/2000/09/xmldsig#rsa-sha1"
错误。
但后来我得到不同的错误
Sustainsys.Saml2.Exceptions.InvalidSignatureException:使用签名中包含的密钥正确验证了签名,但该密钥不受信任。
根据问题#493 #735,元数据中的证书必须与 SAML2 响应中的证书匹配。
在元数据中,证书是(注意开始和结束值)
但在 SAML2 响应中(由 SustainSys 库记录的响应)
查看X509Certificate
元数据和 SAML2 响应中的值,它们不匹配。
问题SAML2 响应中
的值是否应该与元数据中的值匹配?如果是,为什么 SustainSys 库不能始终使用SAML2 响应中的值?X509Certificate
X509Certificate
X509Certificate
更新
只是为了看看匹配值是否有效,我将 SAML2 响应中的证书值保存到单独的.cer
文件中。然后在 KeyInfoSerializer.cs 文件中我更新ReadX509Certificate
了方法(这是从元数据加载证书的方法)
但是,它仍然会引发错误The signature verified correctly with the key contained in the signature, but that key is not trusted.