问题标签 [wif]
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.
wcf - 以编程方式为 WIF 保护的 WCF 服务创建客户端代理
这是我到目前为止所做的:
1) 创建了一个 ASP.NET MVC 依赖方应用程序并使用 ADFS v2.0 对其进行保护。这行得通。
2) 使用声明感知服务模板为 ASP.NET 网站创建了 WCF 服务。我已经打开了服务的 ASP.NET 兼容性,因为否则服务不会激活。我已将所述服务的接口移至“SharedContracts”程序集。
3) 使用“添加 STS”引用将 WCF 服务设置为依赖方,也指向我的 ADFS 服务器。
4) 将 ADFS 服务器配置为将 WCF 服务作为依赖方并发出 LDAP 声明。
我现在想做的是使用 ActAs 与服务交谈。换句话说,当有人从 ASP.NET MVC 站点使用充满声明的令牌(请记住 MVC 站点是依赖方)点击 HomeController.Index() 时,我希望此方法以编程方式创建客户端代理并调用单个我在 WCF 服务上使用的服务方法(一种称为“HelloClaim”的方法,几乎与声明感知服务模板附带的库存方法相同)。
这是我到目前为止的代码:
当我尝试调用该方法时,我收到以下错误消息:
该工厂启用了手动寻址,因此所有发送的消息都必须预先寻址。
我很确定我在以编程方式配置绑定和端点方面做得还不够。如果你们中的任何人以前做过这个或者你知道怎么做,我希望能够让它工作。
底线是我只是在使用基本的身份委托方案——唯一的区别是我没有使用生成的客户端代理。
saml - WS-Trust、OpenID 和 SAML Passive 之间有什么区别?
似乎 Microsoft ADFSv2 支持 WS-Trust 和 SAML Passive,但它所构建的 WIF 堆栈不支持 SAML。
WS-Trust 和 SAML-P 有什么区别?它们是否具有相同的安全漏洞,如果是,它们是什么?
注意:这里有一个类似但不同的问题:
wcf - 如何在服务端指定声明类型要求,以便客户请求遵守它们?
我有:
- 一个被动的 STS“登录应用程序”,它也是一个身份提供者。
- 可以接受和处理 ActAs 令牌的活动 STS WCF 服务
- 网站依赖方
- 由网站调用的 WCF 服务依赖方。
所有这些都使用 Windows Identity Foundation 和自定义 STS 代码组合在一起。不涉及 Active Directory (ADFS)。
我现在的工作是:
- 用户尝试访问网站 RP。
- 用户被重定向到被动 STS。
- 用户登录,获得一个令牌,被重定向回网站 RP。
- 网站 RP 对 WCF RP 进行服务调用并传递一个 ActAs 令牌,以便进行委派。
- 活动 STS 看到 ActAs 令牌进入并正确设置输出身份,因此主要身份是 ActAs 令牌,调用者的身份被添加到 Actor 链中。
- WCF RP 在一切就绪的情况下获得正确的令牌,当前线程主体具有正确的身份和应有的声明。
我希望 WCF RP 向活动 STS 请求额外的声明。
也就是说,在进入活动 STS 的 RST 中,我希望它包含服务所需的声明列表,以便可以获取那些不存在的额外声明。
我已经通过修改网站 RP 客户端上的绑定来弄清楚如何做到这一点,但我希望在 WCF RP 服务端指定要求。
我觉得这与我正在使用的绑定有关。我在让 ws2007FederationHttpBinding 与 ActAs 令牌一起工作时遇到了麻烦,并且 WIF 身份培训工具包中的所有示例都使用了 customBinding,所以我也这样做了,它终于奏效了。这是来自 WCF RP 的配置片段,显示了我的绑定配置:
如果我更改调用网站上的配置以在issuedTokenParameters 部分中指示claimTypeRequirements,则Active STS 实际上确实会在RST 中看到所需声明的列表......但那是在调用网站上,这对我来说是有问题的。
如何使 WCF RP 可以指定它需要的其他声明,而不必在调用网站上复制该配置?
如果它确实是一个绑定问题,那么如果您可以根据我上面的内容向我展示等效配置,那将会有所帮助。我可以使用适当的更改来更新网站和 WCF 服务,但同样,我需要服务(或服务上的行为,或服务上的配置)来控制它需要的声明列表。该服务不应接受缺少所需声明的请求。
c# - Windows Identity Foundation 安全令牌服务无法保持登录状态
我正在使用 Windows Identity Foundation (WIF)安全令牌服务(STS)为我的应用程序处理身份验证,该应用程序运行良好。但是,我似乎无法使用 STS 获得任何长时间运行的登录。
据我了解,我不应该关心应用程序级别的客户端令牌,因为它们可以随心所欲地过期,它应该将我重定向到 STS,只要他们仍然登录 STS,它就应该刷新他们的应用程序令牌。然而,它似乎不想让他们保持登录状态。
这是我在 STS 上的 login.aspx 中发生的情况
这几乎是直接从使用普通 Forms Auth 的现有应用程序中获取的。
从我的 web.config
登录后查看 cookie,我可以看到 cookie 上的过期时间设置为未来 14 天,并且 cookie不是会话 cookie。
当我需要重新登录 STS 时,我可以看到我原来的 cookie 仍然存在。
STS 是否有某种时间戳功能嵌入到使我的 cookie 无效的 cookie 中,即使据我所知它应该仍然有效?
c# - WIF 认证场景。STS 实施问题
我们正在考虑使用 WIF 对我们的用户进行身份验证,因此我开始收集一些有关如何以正确方式执行此操作的信息。主要是我们应该如何创建STS。我很难找到一些关于我们的场景的信息,我们有一个“主要”服务,内部和外部的客户都将使用它。
内部客户端将使用 TCP 连接到服务。我们员工使用的桌面客户端应使用其域凭据 (Active Directory) 对服务进行身份验证。除此之外,我们还有少量应用程序使用该服务进行数据处理。我们想为这些应用程序颁发证书。然后,他们将使用该证书通过 STS 进行身份验证,并返回一个包含该应用程序声明的令牌。那可能吗?
外部客户端将通过 HTTP 连接,使用用户名/密码(Web 客户端)或通过类似于上面提到的证书进行身份验证。
这是一个有效的场景吗?您将如何在 WIF 中实现这一点?你能指出一些你认为有帮助的文章吗?我可以通过一个 STS (WCF) 来解决这个问题,还是需要多个?单个 STS 可以处理多种类型的凭据(AD/用户名/证书)吗?
先感谢您。任何帮助都感激不尽。
wif - 我如何通过 WIF 请求被动 STS 的额外索赔?
我有以下内容:
- 充当身份提供者 (IDP STS) 的网站 ASP.Net 应用程序
- 联合提供者 (FP STS)
- 充当 (RP) 的资源 ASP.NET MVC 网站
当尝试访问 RP 中的资源时,它会通过 FP STS 并被重定向到 IDP STS。用户输入他们的凭证,在其有效性后,IDP 提供一些声明,这些声明传递给 FP STS,然后发送回 RP。在 RP 方面,收到索赔并提供资源。我如何向 RP 提出额外的索赔请求?
任何建议或方向都会很棒!谢谢,
wcf - 使用 ADFS2/WIF 保护 WF4 工作流服务?
我有一个想要保护的 .xamlx 工作流服务,以便它只能由从我的 STS (ADFS v2.0) 获得令牌的客户端调用。通常,如果您使用“网站”项目模板,并且添加了 .SVC 服务,这很容易做到——“添加 STS 引用”向导将找到您想要保护的服务,并将单独保护它您作为依赖方。
问题是,当您对 Workflow Service 应用程序执行“添加 STS 引用”时,您得到的只是“被动重定向”安全性,而不是保护单个服务时需要的主动联合。
有人知道怎么做吗?
wif - 如何将(声明)安全令牌传递给启用 WIF 的 WCF 服务
我很想知道我们如何可能从已通过 WIF 身份验证的 WIF 应用程序发送安全令牌到启用 WIF 的 WCF 服务。
任何帮助将不胜感激
wcf - .Net 4.0 上对 WCF 的未签名 SAML 2.0 支持
有人可以让我知道 WCF .Net 4.0 是否原生支持未签名的 SAML 2.0 或 1.1。我知道 WCF 原生支持 Signed SAML 1.1,WIF 原生支持 SAML 2.0,但我找不到任何关于未签名 SAML 的材料。
sharepoint-2007 - 启用对 ADFS 2.0 SharePoint 网站的匿名访问
我有一个 SharePoint 2007 门户配置为使用 FormsSignIn(ADFS 上的表单身份验证)对 STS(ADFS 2.0)进行身份验证。有没有办法让一些页面在 SharePoint 门户中允许匿名访问?我尝试在 SharePoint Central Admin 中检查“启用匿名访问”,并尝试在 web.config 中添加位置部分,但是这两个部分仍然重定向到 ADFS 登录页面。
我重新命名了 ADFS 登录网站,使其看起来不那么通用,更像我们的 SharePoint 登录页面。我是否应该将这些匿名访问页面从 SharePoint 移出并移入 ADFS 站点?
ADFS 对我来说是新手,我不确定自定义登录过程的最佳实践是什么。
谢谢,