问题标签 [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.
security - STS token 验证后的存储方式
我需要进一步澄清。
如果我从这个链接中得到了正确的保存联邦身份验证令牌的位置 [WIF STS]?和其他一般的 WIF-STS 讨论,STS 令牌在默认情况下存储在浏览器的 cookie 中。在我的浏览器中,它分为两个以 FedAuth 开头的 cookie。没关系。如果我理解得很好,cookie 是在 RolePlayer 应用程序上的 STS 令牌验证后由 WIF 创建的。如果是这样,那么 cookie 在 RolePlayer 应用程序域中。当用户点击 RolePlayer2 应用程序(即在联邦和第二个域中)时,STS 如何知道该用户,当它无法访问创建的 cookie 时。
你能向我澄清一下吗?
asp.net-mvc - BootstrapContext 在 ClaimsIdentity 上为空
我用 .NET 4.5 创建了一个新的 ASP.NET MVC 应用程序。我已成功使用 STS 设置身份验证。身份验证流程运行良好,我能够在 Thread.CurrentPrincipal 上获取包含所需声明的 ClaimsIdentity。
现在我需要引导令牌来保护对我的服务层的调用。我已在 identityConfiguration 元素上将 saveBootstrapContext 设置为 true。
但是,ClaimsIdentity 上的 BootstrapContext 属性始终为空。
我在这里错过了什么吗?这应该很简单:(
wif - 被动联合中的用户管理
我使用 Windows 身份框架 (WIF) 创建了 IP-STS 和一个联合下的三个独立的依赖方。Federated Single Sing On 和 Sign Out 方案运行良好。这是作为演示准备的。
我的问题是什么?
在生产中,我必须在身份屋顶下统一 3 个不同的 Web 应用程序。目前,所有这些应用程序都有不同的身份验证和授权机制,在数据存储中为特定用户分配了不同的表集等。对于登录和注销,一切对我来说都很清楚。问题在于创建新用户。在这些情况下是否有任何一般模式。为什么我要问这个。当你在这种情况下更深入时,你会发现这并不是那么简单。对于第一个 Web 应用程序,我们有一组受支持的字段(其中大部分是来自 DB 的一些枚举),来自第二组其他的......所以,我需要从所有依赖方获得这个过程的所有数据. 如何做到这一点?一种方法是使用一组 IFRAMES 或类似的东西?此外,由于依赖于用户实体的单独应用程序中的关系表,我需要在每个应用程序中都有新用户。在我看来它非常复杂,我很好奇这种情况是否有任何众所周知的模式。我确信我不是第一个必须在一个身份管理下统一完全不同的应用程序的人。
更新:我发现这是供应管理或联合供应的一部分。我还发现它可以通过与 SAML 协议并行的 SPML 协议来实现。出于这些目的,WIF 中是否有任何协议或集成点?
问候, 拉斯特科
wif - 使用 SAML2(协议)身份提供程序的 ADFS 2.0 注销失败
我们使用 ADFS 2.0 作为联合提供者,并带有使用 SAML2 协议的身份提供者(claimsprovider)。ADFS 的依赖方使用 WS-Federation 协议。
我们现在可以请求依赖方,使用 SAML2 身份提供者登录并注销,以便 ADFS 向身份提供者发送一个注销请求,然后我们才能真正从中注销。
当我们在同一会话期间(不关闭浏览器)再次请求依赖方,使用 SAML2 身份提供者再次登录然后尝试注销时,就会出现问题。发生的情况是 ADFS 显示已注销页面,但未向身份提供者发送注销请求,因此该过程在那里停止(在 ADFS 处)。如果我们随后再次尝试登录,我们自然会在身份提供者处“弹跳”,因为我们仍然在那里登录。
在第一次注销(始终有效)之后,这就是所有后续尝试都会发生的情况。
关系和协议如下:
RP <---wsfed---> ADFS <---samlp---> IDP
asp.net - ADFS 2.0 - 无主域发现
我有以下用于联合 asp.net 应用程序的网络配置,但我没有看到我的家庭领域发现屏幕。我无法弄清楚我做错了什么。
ADFS #1 - ADFS #2 的依赖方信任
ADFS #2 - 依赖方信任我的 Web 应用程序。- 使用 ADFS #1 声明提供者信任 - 使用 Active Directory 声明提供者信任
Webserver - 具有对 ADFS #2 的 STS 引用的 ASP.NET 应用程序。
我想当我尝试访问该网站时,我会看到预设的家庭领域发现屏幕,我可以在其中选择 ADFS #1 或 #2 的领域。相反,我总是被提示输入 ADFS #2 域的凭据(我的应用程序有一个 STS 引用)。任何帮助,将不胜感激。我认为这个配置是正确的。
wcf - 使用 CreateChannelWithActAsToken 的标准 ChannelFactory 使用错误的信任版本来请求 ActAs 令牌
当我使用我的安全令牌调用 factory.CreateChannelWithActAsToken 时,它使用错误的命名空间调用我的 STS 问题并期望错误的信任版本。
我可以使用 WSTrust13 连接到我的 STS 并使用 WSTrustChannel 手动请求令牌和 ActAs 令牌,它工作得很好。但是,当我设置 WS2007FederationHttpBinding 并指向我的 STS 时,它总是使用错误的格式发出问题请求。我进入了我的 STS,不得不使用 WSTrustFeb2005ResponseSerializer 而不是 WSTrust13ResponseSerializer 反序列化消息。
我确定我可能误解了某些东西是如何工作的。但是,这似乎应该有效,但不是。有输入吗?
wcf - 使用 Azure ACS 2.0 保护 WCF 4.5 服务
如何使用 Azure ACS 2.0 保护我的 WCF 4.5 服务?
c# - 如何避免“SamlAssertion.NotOnOrAfter 条件不满足”错误
最近,我开始在现有的 Web 应用程序上使用基于声明的身份验证。因为应用程序使用了 jQuery 和更显着的 AJAX 函数,所以我不得不更改处理程序以不尝试重定向XmlHTTPRequests
,而是返回更容易处理的 403 状态。
这是FederatedAuthentication.WSFederationAuthenticationModule.AuthorizationFailed
事件处理程序:
我有以下实现 AJAX 调用并处理响应的模式:
如果“Session.aspx”成功重定向到身份提供者并返回,则“Session.aspx”基本上会关闭返回值为 true 的模式对话框。
但我的问题是我收到以下错误:
“ID4223:SamlSecurityToken 被拒绝,因为不满足 SamlAssertion.NotOnOrAfter 条件。”
这是在模拟当前应用程序用户的子系统上调用的,显然前一个会话的令牌仍然存在。我的应用程序的 web.config 中有以下设置:
如何避免此错误?任何帮助将不胜感激。
dynamics-crm-2011 - ACS and CRM Online - Cannot Create Identity Provider - Federation Metadata Fails
I'm trying to create an ACS WS-Federation identity provider that uses CRM Online as the identity provider. When I try to enter the federation metadata for CRM Online, it breaks. If I use the federation metadata url
https://[orgname].crm.dynamics.com/FederationMetadata/2007-06/FederationMetadata.xml
the error is shown on the page "Unable to download a WS-Federation metadata document from the specified URL." The URL works if I browse to it.
If I download the XML file from the browser and then try to upload the file into the identity provider creation page, the whole web page throws an exception (no details, because the web.config is not configured to show remote errors).
Anyone gotten past this?
acs - Azure 访问控制服务 (ACS) - ACS50001:未找到标识符为“https://[namespace].accesscontrol.windows.net/”的依赖方
我有一个设置了 WS-Federation 身份提供程序的 ACS 名称空间。由于我使用的是 Visual Studio 2012,因此我使用了身份和访问工具来创建依赖方。该工具使用领域并返回我在创建依赖方时提供的 url 值(我使用部署项目的 Azure 云服务 url - 即http://myapp.cloudapp.net)。运行该工具后,我的依赖方的规则组中只有一条规则 - 通过 [依赖方] 的所有声明。我只用那一条规则测试了我的应用程序的 ACS,并且还在为 WS-Federation 身份提供者生成了所有规则之后。
无论规则组中的规则如何,我的问题标题中都会出现错误。我的浏览器被重定向到 ACS,但是由于某种原因它找不到正确的依赖方。我在两个不同的 Azure 帐户中创建了一个 ACS 命名空间、身份提供者和依赖方,结果完全相同。
我还尝试使用 http 和 https 端点将我的项目发布到 Azure 云服务,并且两个端点产生相同的结果。
WS-Federation 身份提供者的联合元数据来自 Windows Azure Active Directory。
更新 web.config 中的 FederationConfiguration 部分:
更新2:仍然没有解决方案。看起来问题源于我设置了自己的 ACS 身份提供程序,并从 Windows Azure Active Directory (WAAD) 为该身份提供程序下载了联合元数据。这基本上将 2 个 ACS 实例链接在一起。当我的应用重定向到我的 ACS 时,它会将我的应用的 url 作为领域传递。然后,我的 ACS 重定向到身份提供者 WAAD,并将其自己的 url 作为领域传递。这就是为什么我返回的错误具有依赖方标识符的奇怪特征 = 我自己的 ACS 管理门户的 url。我不确定为什么它没有从我的应用程序一直传递到 WAAD。