【发布时间】:2021-08-04 22:12:19
【问题描述】:
所以我要先说 SAML(和一般的用户身份验证)不是我的强项,所以我对任何滥用的术语表示歉意。
背景:
我们目前有一个 ASP.Net Framework 网站,使用 .Net 版本 4.7.2(特别是 webforms)。我们的网站充当服务提供商 (SP),目前使用 SAML 2.0 和已弃用的身份提供商 (IdP);幸运的是,这个身份提供者正在被 Okta 取代。最初的 IdP 提供了他们自己的实施说明,使用了 OWIN 中间件和他们自己的 NuGet 包,为我们配置了 SAML。不过,对于 Okta,我发现我们需要使用不同的 NuGet 包。我已经开始使用 SustainSys.Saml2 包配置 SAML,并对 web.config 进行了建议的更改(这是我们对使用他们的 OWIN 中间件的偏好,尽管我对此持开放态度,if这是有特定原因的)。如需更多参考,这里是我引用的sustainsys documentation。
当前问题:
web.config 修改和其他更改(如安装 NuGet)已完成,网站已清理,以免导致任何错误。但是,我最大的问题是现在如何将它们联系在一起。我了解我们的网站(SP)需要向 Okta(IdP)提出 SAML 断言请求。不幸的是,我不明白我需要为该请求发送什么。我在想只是一个指向 IdP SSO 链接的超链接应该可以工作,但是根据我所读到的有关 SAML 的内容,需要有与该请求相关的 一些 元数据。谁能建议如何创建一个发送必要元数据的按钮?或者澄清是否需要包括在内(也许我误解了需要发送的内容)?此外,与sustainsys(特别是html 或其他显示元素)相关的任何其他链接或帮助都将非常有益。
谢谢
【问题讨论】:
-
Owin 中间件的 Sustainsys 文档讨论了 Startup.Auth.cs 的配置。你试过了吗? saml2.sustainsys.com/en/stable/owin-middleware.html
-
是的,我添加了 app.UseSaml2Authentication(new Saml2AuthenticationOptions(true));线;据我了解,这表示配置来自 web.config 文件(在我们的情况下是理想的)。 OWIN 中间件似乎没有概述在添加之后要做什么(在那里配置 SAML 或调用配置文件)。
-
github.com/Sustainsys/Saml2/tree/master/Samples/….. 这个示例应用程序在 MVC 中,他们已经在代码中加载了配置,而不是从 web 配置中加载。我建议您仔细阅读此代码并将其作为 POC 在您的测试应用程序中实现。一旦成功,您就可以将代码集成到您的主应用程序的网络表单中。
-
你搞定了吗?
-
不,我实际上感到更加困惑。我认为(显然)有很大一部分 SAML 和 OWIN 身份验证概念在我脑海中浮现。我一直在努力寻找可以为我进一步分解这些概念的教程
标签: configuration webforms saml-2.0 okta sustainsys-saml2