问题标签 [ws-federation]
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.
login - 使用 SAML 的透明 SSO(IE、SAML 2.0、ADFS、Kerberos 身份验证)
配置为:作为 IdP 的 ADFS 2.0(支持 WS-Federation 和 SAML 2.0),作为服务提供者的 ASP.NET 应用程序。当 SPS 使用 WS-Federation 标准(使用 WIF)请求 ADFS 时,它允许我自动登录到 ADFS,即使新会话启动,也不会出现登录弹出窗口,因此 Kerberos 令牌可以按预期完成工作。但是,对于 SAML 2.0(使用 ComponentSpace.SAML.2 库),每次我打开 IE9 并被重定向到 ADFS 时,都会要求我在标准的小型弹出式登录窗口中输入我的 windows 域凭据。是否有任何 SAML 2.0 参数或其他技术让我像在 WS-Fed 案例中一样摆脱这个窗口?谢谢
asp.net-mvc - 防止 .Net MVC WS-Federation 站点中的 XmlHttpRequest 重定向响应
我在 MVC 3 站点上使用 WS 联合(声明感知)身份验证,并且在身份验证失败时无法阻止发送 JSON 的一些 API 控制器返回重定向。我有一个名为 API 的区域,其中有几个只返回 JSON 的控制器,这些控制器都继承自同一个基类。我想发送合法的 401 错误响应,而不是默认情况下发生的 302 重定向。
我按照我找到的一些指示来创建WSFederationAuthenticationModule
与我在 API 控制器操作上放置的过滤器一致的自定义:
但我的日志显示我从未在 Items 中找到 IsService 项:
我认为这可能是HttpContext.Current
过滤器和模块之间不一样的问题,但我不确定。
我尝试的另一个选项是在我的 Global.asax.cs 事件中订阅该FederatedAuthentication.WSFederationAuthenticationModule.RedirectingToIdentityProvider
事件Application_Start
,但当时 WSFederationAuthenticationModule 为空。
我想知道如何使第一个选项起作用,或者我应该在哪里订阅该RedirectingToIdentityProvider
事件。
azure - 如果我有自定义 STS,是否需要联合身份验证?如果是这样,为什么?
如果我有一个自定义安全令牌服务,它专门列出了允许的受众并检查令牌是否来自这些受众之一,并检查 X509 证书的指纹和颁发者,我是否需要 WSFederation?
由于我的 STS 正在检查令牌是否已经来自特定应用程序并通过我的 ACS 进行路由,所以我不是在验证我需要做的所有事情吗?我知道应用程序 A 向 ACS 发送了一个请求,ACS 向应用程序 B 发送了一个请求,所有这些请求都来自自定义 STS,那么联邦身份在这张图片中的位置是什么?
为清楚起见进行编辑:
对不起,我在原始帖子中有点不清楚。我认为混乱是因为我使用了 STS 而不是安全令牌处理程序(方式不同,只是一个错字)。应用程序 A 是一个自定义登录服务,它显示用户的登录选项,google/facebook/yahoo/etc。通过这些服务登录从 ACS 获取令牌并将其返回给应用程序 B,即依赖方。此 RP 有一个自定义安全令牌处理程序,它接受令牌并验证它是否具有与应用程序 A 匹配的受众 URI。它还验证颁发者是 ACS 并且指纹与用于通过ACS。
这意味着理论上应用程序 B 知道,应用程序 A 用于登录(因为它来自该 AudienceURI)并且 ACS 发送了令牌(因为它是颁发者并且指纹匹配)。我要问的是应用程序 B 是否需要联合身份?如果您已经证明了令牌的来源,那么使用它究竟能得到什么?
asp.net-mvc-3 - 如何从 STS / IdP 查看重定向状态
我已经搜索(甚至)搜索了这个问题的答案,但到目前为止还没有找到任何有用的东西。我对 ADFS、STS 和 WIF 还是很陌生,所以请原谅任何明显的无知或不当使用术语。;)
我目前正在通过 ADFS 将自定义 MVC3 应用程序与外部 IdP 集成。ADFS 到 IdP 的设置已全部完成并正常工作。
该站点的某些部分可供匿名用户访问 - 在 web.config 身份验证模式中已设置为无。其他部分通过自定义 System.Web.Mvc.AuthorizeAttribute 修饰其控制器/操作方法来保护。
为使用 WsFederationAuthenticationModule 对 web.config 进行了所有常见的修改,并且它可以工作 95%;用户可以浏览到网站的匿名访问部分。当他们尝试访问受保护的部分时,授权属性会检查他们是否在与 HttpContext.Current.User 关联的 IClaimsPrincipals 中从我们的 IdP 获得了一些自定义信息,如果没有,则将 ActionResult 设置为 401;WsFederationAuthenticationModule 启动并将它们重定向到 IdP 的登录页面。当他们输入他们的详细信息时,他们会被一些 FedAuth cookie 成功重定向,然后授权就会通过。
当他们到达 IdP 的登录页面时,问题就开始了。这个特定的 IdP 有一个链接,可将您直接返回到我们的网站(返回到原始请求所发到的同一页面),并在某处嵌入此 SAML 响应(这是根据他们的文档)
瓮:绿洲:名称:tc:SAML:2.0:状态:AuthnFailed
在这一点上,它们现在是“未经授权的”,所有用户将看到(至少在开发中)是一个 401 页面。您必须终止会话或以其他方式摆脱该 cookie 才能重新开始。
我需要做的是拦截来自 IdP 的重定向请求,并从本质上检查该特定 SAML 状态,因为然后用户应该被重定向到未经授权的区域之一,就好像什么都没发生一样。我在 global.asax 中尝试过这样的事情:
..但我在那个令牌上看不到任何有用的东西;没有任何东西表明特定的响应状态。根本有一个 FedAuth cookie但没有来自 Idp 的自定义信息这一事实完全表明用户已经在那里但不知何故未能进行身份验证,但原则上我希望能够看到该状态。我可能还必须处理 IdP 的超时问题......
也许我做错了,或者只是老不明白,但可以以某种方式让我了解如何确定这些响应状态?
呸。谢谢!:D
azure - 使用 OpenAM 创建 WS-Federation 身份提供程序
我们正在尝试为部署在 Azure 上的 .NET 应用程序实现 SSO。我们被要求使用 openAM 作为 Idp。
我正在遵循@ http://msdn.microsoft.com/en-us/library/gg429779.aspx的说明。第 3 步说明创建身份提供者。在这里,我必须提供 WS-Federated 元数据的 URL。
在 openAM 中,我创建了一个托管 Idp。但是在步骤 3 中提供它的 URL 并没有帮助,因为它不指向 WS-Federated 元数据文档。
我想知道如何在 openAM 中创建一个 WS 联合元数据文档?
或更一般地说,我这样做完全不正确吗?
谢谢你
萨米尔
wcf - 如何在 WSFederationHttpBinding 中支持流式传输?
我有一个 wcf 服务,用于将大文件上传和下载到服务器。我正在使用 MTOM 消息编码,并且我想使用流传输模式。但是我们使用的是 wsFederationHttpBinding。如何在 wsFederationHttpBinding 中支持流式传输?
我的 WCF 服务 web.config 代码如下,
wif - WIF-ID1014:签名无效。数据可能已被篡改
我一直在使用 WIF 来验证我们的新网站,STS 基于 starter-sts 实现。
为了使它能够在负载平衡环境中正常工作,我在 global.asax 中使用了以下内容来覆盖默认证书行为。
这一切都在工作,人们已经成功地使用了这个系统,但是我们时不时地得到一个爆炸:
ID1014:签名无效。数据可能已被篡改。
在事件日志中,所以我打开了 WIF 跟踪并在日志中看到了以下内容。
ID1074:尝试使用 ProtectedData API 加密 cookie 时发生 CryptographicException(有关详细信息,请参阅内部异常)。如果您使用的是 IIS 7.5,这可能是由于应用程序池上的 loadUserProfile 设置设置为 false。
我有一种感觉,正如我所想的那样,这让我走上了一条黑暗的小巷,因为我已经将实现更改为使用 RSA,这不应该影响我。
有什么想法可以帮助我吗?
asp.net - ADFS 安装是否需要 Active Directory?
为了在使用 ADFS 的(可能不止一个)客户和我的 Web 应用程序之间实施联合登录,我知道我需要在我的环境中安装 ADFS。
如果我要这样做(并安装 Active Directory),我看不到我永远需要 Active Directory,因为身份验证将通过 ADFS 委托给客户 AD。
所以...
我需要在我的应用程序环境中安装 Active Directory 吗?并且\或者有没有其他方法可以这样做?
c# - 使用 WSFederationHttpBinding 的性能非常差
我使用 WSFederationHttpBinding 的性能很差 - iis 每秒只处理 250 个请求。
捆绑:
我的 wcf 测试方法什么都不做——它只返回 1 个字节。
但是当我在没有任何 WIF saml 令牌的情况下使用具有消息安全性的简单 WSHttpBinding 时,我得到了大约。每秒 4000 个请求
我不明白为什么
c# - 已发出TokenAuthentication AudienceUriMode =“从不”
我已将 wcf 3.5 迁移到 4.0,但出现以下错误:
“处理消息中的安全令牌时出错”
谷歌搜索将我带到这篇文章:
http://blog.latamhub.com/?cat=3
因此,我添加了以下行并解决了问题:
我不确定它有什么作用。我正在使用 wsFederationHttpBinding。有谁知道为什么它现在有效?
在 wcf 3.5 中是默认值,在 4.0 中不是?