问题标签 [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.

0 投票
1 回答
799 浏览

asp.net - 是否有 ASP.NET Web 表单的 Sustainsys.Saml2 示例

我尝试使用 Sustainsys.Saml2 进行 SAML。我从他们的Github页面下载并运行了示例。但是 ASP.NET MVC 的所有示例。

我用 ASP.Net Web Forms 开发我的网站。我的网站是 SAML 的服务提供商。我更改了示例中的Web 配置,但无法将登录页面重定向到身份提供者的登录页面。

0 投票
0 回答
392 浏览

c# - 使用带有承载令牌而不是 Cookie 的 SAML 身份验证

我有一个几年前使用 ASP.NET WEB API 2 和 OWIN、ASP.NET 标识和带有承载令牌的 OAuth 编写的应用程序。我的前端是 AngularJS。我在创建应用程序时遵循了这篇文章:https ://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

现在,我需要实现 SAML 仅用于身份验证。我仍将使用 ASP.NET Identity 进行授权。我计划使用 Sustainsys SAML2 OWIN 中间件。我在这里遵循了 OWIN 示例:https ://github.com/Sustainsys/Saml2/tree/master/Samples/SampleOwinApplication

我得到的错误是:

在 IAppBuilder 属性中找不到 SignInAsAuthenticationType 的默认值。如果您的身份验证中间件以错误的顺序添加,或者缺少一个,则可能会发生这种情况。

如何添加 SAML 以进行身份​​验证,同时仍通过不记名令牌解决方案使用 ASP.NET Identity 进行授权?

这是我进行承载身份验证的代码。我添加了 UseSam2Authentication 方法并注释掉了 UseOAuthBearerAuthenticaton 行。

0 投票
1 回答
410 浏览

asp.net-web-api - 在 SP 中传递和检索 RelayState 使用 Okta IDP 发起 SSO

我试图在从 SP 到 IDP 的 SAML 请求中将 URL 作为 RelayState 传递,以便在身份验证完成后将其取回。但是,我不知道该怎么做。我在我的 ASP.NET WebApi 应用程序中使用 Sustainsys.saml2 进行 saml 配置。

问题 1:目前,我有一个类似这样的 URL:
http://example.com/tmwebapi/saml2/signin?http://www.okta.com/hgdhsg324234jhsdf
当我在地址栏中输入此内容时,它会将我重定向到 IDP 界面。如何在这里传递 RelayState?

问题2:成功传递RelayState后,我希望能够在ACS端点中提取它。我怎样才能做到这一点?

如果需要任何其他信息,请告诉我。提前致谢。

0 投票
1 回答
1388 浏览

sustainsys-saml2 - sustainsys.saml2 生成的元数据的 URL 是什么?

我在 MVC 应用程序中使用 Sustainsys.saml2 库。我被要求为我的服务提供商 (SP) 应用程序提供元数据。Sustainsys 库会为我做这件事吗?我将为我的应用程序元数据提供 IDP 的 URL 是什么?

web.config 元素的sustainsys 帮助文档说:

配置的元数据部分可用于调整生成的元数据。这些配置选项仅影响元数据的生成方式,不会更改代码的其他行为。

同样,这个生成的元数据的 URL 是什么?我很高兴提供更多信息....我只是不知道我现在不知道什么。

0 投票
0 回答
222 浏览

asp.net-core - 使用 Saml2 或 Ws Federation 在 IDM SAP 和 ADFS 上进行身份验证

最近我有一个新需求,我需要让用户在我的应用程序 IDM SAP 中进行身份验证。以前我必须将我的应用程序与 ADFS 集成。为此,我使用了 Ws Federation,应用程序在 Asp Net Core 上运行。ADFS 的身份验证工作得很好,在启动时我让我的应用程序从 Idp 服务器检索元数据 XML 文件。然后我将用户重定向到 Idp 登录页面,它验证身份验证是否有效,返回响应,然后打开我的应用程序。

现在,我进行了一些研究以了解如何使用 IDM SAP 做同样的事情。当我看到将 SAML 与 WS Federation 进行比较的文章时,我有点困惑。让我更加困惑的是,客户端已经提供了他的 xml 元数据文件,而且它看起来与使用 ADFS 的另一个非常相似。

以下是我实施 Ws Federation 的方式:

Idp URL 位于我的 appSettings 文件中。

我想到我应该尝试读取从本地文件夹提供的这个新 XML 文件,但是这个属性“MetadataAddress”似乎总是只需要 URL。IDM Sap 用户已经说过他们不会公开他们的 XML 文件,所以我必须总是从本地 xml 文件中读取。

它没有用,所以现在我想弄清楚我的选择是否会在我的应用程序中实现多个协议。

到目前为止,我发现这个库似乎是解决方案 https://github.com/Sustainsys/Saml2/blob/master/Samples/SampleAspNetCore2ApplicationNETFramework/Startup.cs

我在尝试在 StartUp 方法上设置 XML 文件时遇到了困难,这就是我正在尝试的:

尝试设置服务证书时返回一个错误,提示找不到指定的文件。

另外,假设我设置了配置。我应该如何将用户重定向到 IDM Sap 登录页面?

任何人都可以提供一些建议或指导,以便我可以创建一个适用于这两种情况的更好的解决方案吗?

0 投票
1 回答
890 浏览

asp.net-core - Sustainsys Saml2 Handler AuthenticateAsync() 方法操作未实现

我正在我的 Saml2 的 Asp net Core 应用程序中尝试一个简单的实现,以与 Ad FS 服务器集成。我不知道为什么我会收到这个错误。我从 gitHub 下载了示例并尝试在我的应用程序中进行调整。

这是我的实现,我的应用程序在 Asp Net Core 上运行

启动时

在我的控制器上 尝试类似于Sustainsys SAML2 Sample for ASP.NET Core WebAPI without Identity

注意:我有一个客户端不会在 URL 中公开他的元数据,所以我需要调整它并手动设置元数据参数

我陷入了这个错误,我什至没有点击我的方法 LoginAdfs。

0 投票
2 回答
132 浏览

sustainsys-saml2 - Sustainsys 将 Salesforce 用作多个社区的 IdP

我将 Salesforce 用作我的 MVC 应用程序的 IdP。我的 Salesforce 实例中有多个社区,每个社区都有不同的 signOnUrl。如何配置多个社区以使用相同的 Sustainsys 身份提供程序?

我尝试对不同的社区使用相同的社区链接,这会导致权限错误。我尝试为不同的社区 signOnUrls 设置多个身份提供程序节点,但没有成功

当我尝试将多个实体提供程序添加到同一台服务器时,错误是https://{Salesforce}已添加条目。

0 投票
0 回答
393 浏览

asp.net - SAML2 idP 不支持注销时如何执行本地注销?

我正在尝试将我们的 ASP.NET MVC 网站集成为服务提供商,以允许用户针对第三方 SAML2 idP 进行身份验证。我正在使用 SustainSys.Saml2.Owin (2.3.0) nuget 包。

我的登录过程正常工作,但事实证明注销用户更加困难。

运行 idP 的第三方说他们不支持注销,我们必须自己将用户从我们的应用程序中注销。他们要求我们“创建一个新会话”并“进行本地注销”。

我应该指出的是,由于我们无法访问 idP 或正在进行 Web 浏览器测试,并且 idP 由不会说英语的实体运行,因此所有通信和测试通过第三方翻译...

他们真的有可能不支持注销,还是在翻译中丢失了一些东西?我相信 SAML2 idP 是由定制公司网站中的一些 Oracle 代码/服务处理的。

我们 AccountController 上的 Logout 操作如下:

如果我实际上不应该重定向到 SAML2/Logout,因为他们声称他们不支持它,我如何确保清除客户端浏览器中的任何 cookie?

在测试中,当下一个用户在同一个浏览器中访问该站点时,我们的应用程序似乎知道他们没有登录,并显示登录选项。如果他们单击按钮向 idP 进行身份验证,他们似乎被带到了 idP,然后几乎立即反弹回来,以之前的用户身份进行身份验证?我该如何阻止它?

编辑:我应该注意,idP 的元数据确实描述了两个 SingleLogoutService,一个 HTTP-POST 和一个 HTTP-Redirect,这让我认为它们确实支持某种注销。但是当我将客户端重定向到 ~/Saml2/Logout 时,会导致 idP 网站上出现错误页面,没有人能告诉我原因。我没有给他们我们的公钥——他们说“不是必需的”。

0 投票
3 回答
2407 浏览

asp.net-core - 无法使用 Sustainsys 的 Saml2 注销

这应该将我的应用重定向到我的 AdFs 登出页面,然后将我重定向回我的应用。但是,它只是将我重定向到我的路线“/logout”。在我的 ADFS 服务器上查看日志没有任何反应。

登录工作正常。我什至尝试过同样的方法,但不起作用。在这里,ReturnUrl 方法从 HttpContext.Response.Header 获取位置。当我尝试注销时,该位置始终为空。

知道会发生什么吗?

更新 21/11/2019

原来 Saml2Handler 根本没有尝试将请求发送到服务器。我在输出窗口中收到这些消息:

这是我的启动配置,我不明白这里有什么问题:

0 投票
1 回答
672 浏览

.net-core - 如何使用 Saml2 将 .NET Core API 管理为现有 IdentityProvider 的 ServiceProvider?

大家好,首先感谢,

我有一个具有 .NET Core 2 API 和 Angular 8 客户端应用程序的项目。我已经在应用程序和 api 之间实现了基于令牌的身份验证(不使用 IdentityUser 或 IdentityRole)。

现在,我必须通过 SSO 进行身份验证。我有一个 saml2 身份提供者元数据,并使用Sustainsys.Saml2.AspNetCore2包使用此元数据配置了我的 api。

现在我可以创建自己的元数据并将此元数据注册到 IdentityProvider。到目前为止一切似乎都还好,但是当我尝试从 IdentityProvider 登录页面登录时,我的 api 没有任何变化。

我脑海中的疯狂问题

在身份提供者的元数据中,只有 SSO 和 SLO 重定向 url。authnrequests 没有其他方法。(HTTP POST 等)我将如何登录此 Idp?

Idp 有自己的登录页面。如果我必须将用户重定向到这个登录页面,我会得到任何身份验证令牌或 cookie。我的 API 会在此登录时被识别吗?

在任何情况下都应该有一个身份验证数据(令牌、库克、会话 ID 等)。在向我的 API 发送请求时,我将在哪里获取这些数据来设置授权标头?

我已经尝试了一段时间,但我的最后一次尝试也不起作用。

有人可以帮忙吗?

非常感谢。