问题标签 [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.
asp.net-mvc - 使用 OWIN 和 WsFederation 对 MVC、Web api 和 signalR 应用程序进行身份验证
对于我的公司,我必须做一个 POC 来检查我们是否可以为我们的项目使用 wsFederation 身份验证,该项目有一个 MVC 应用程序、一些 webapi 控制器和一些 signalR 集线器,所有这些都在不同的项目中。我们还想在客户端应用程序和身份提供程序应用程序中使用 OWIN 身份验证中间件。
我首先使用 Thinktecture Identity Server v2 作为身份提供者(但我们必须在某个时候开发自己的)。对于 MVC 应用程序,它非常简单,并且使用 SAML2 令牌运行良好。
但是现在事情变得有点复杂,因为我希望 Web 应用程序上的经过身份验证的用户能够使用 ajax 调用从 Web api 应用程序(这与 MVC 不同,记住)调用控制器方法。
我已经阅读了很多关于委派和 actAs 令牌的内容,但我有点迷茫,不知道从哪里或如何开始这部分。另外,我找不到任何有关使用 OWIN 身份验证的委派的信息。
所以我的第一个问题是:有可能做到这一点吗?然后:有人能指出我正确的方向吗?
authentication - 使用 Thinktecture 的 Owin 方法:UseSaml2BearerAuthentication
我正在为我的公司开发 wsFederation POC。该解决方案也应该适用于 MVC 应用程序和 webapi 服务。我想出了如何使用新的 OWIN 身份验证中间件让它在 MVC 应用程序上运行。那时我得到了 SAML2 令牌。
我现在想进行 ajax 调用以从 webapi 控制器调用方法,在 javascript 中像这样在授权标头中传递 SAML 令牌:
在 Firebug(或等价物)中,我可以看到标头很好地填充了令牌。
在服务器端,我正在尝试使用 Thinktecture 的 Owin 扩展方法来检索和检查令牌:
正如我在这里读到的:http: //leastprivilege.com/2013/10/31/adding-saml11-and-saml2-support-to-katanaowin/
但似乎什么都没有发生。
我想避免添加消息处理程序,因为这个方法看起来应该做我正在寻找的......
任何想法 ?
security - 使用 SSO 和 ADFS2 或用户名/密码的安全令牌服务?
我目前有一个 MVC4 自主开发的安全令牌服务 (STS),它与我们自己的身份验证数据库进行通信。使用此设置一切正常。作为一项新功能,我需要为域上的用户添加通过 ADFS2 进行单点登录 (SSO) 的功能(绕过当前的 un/pw 屏幕,他们只是“进入”)。需要明确的是,确实需要处理 3 种不同的登录可能性:域用户 (SSO)、域凭据(域用户不在域上输入其域 un/pw)以及来自数据库的原始 un/pw 身份验证。知道我知道如何将 web.config 设置添加到依赖应用程序以连接 STS,我将如何连接两个 wsFederation 被动重定向选项(当前重定向到 STS 用于 un/pw,以及 ADFS 选项)?这是必须在代码中处理的东西吗?通过 WSFederationAuthenticationModule 等重载类?处理我想要的最好的方法是什么?任何代码示例?谢谢你的时间!
ajax - wsFederation 和 ajax 都到 Web API
我有一个 MVC 应用程序,它登录到 wsFederation STS(到目前为止我使用的是 Identity Server v2)。在这种情况下一切正常。我为此使用了 OWIN 身份验证中间件。
现在,我有另一个应用程序,它是 Web API 应用程序,托管在另一个域上。
我希望在 MVC 应用程序上经过身份验证的用户能够从该应用程序向 Web api 进行 Ajax 调用。MVC 应用程序如何将用户传递给 web api?
我尝试在 ajax 调用上设置withCredentials选项,以将身份验证 cookie 传递给 webapi 服务。
这是 web api 控制器,配置为启用 CORS(工作正常)
但是当涉及到 webapi 配置时,我不知道该怎么做。使用 Web 应用程序不起作用的相同配置,因为请求被重定向到 STS 以进行令牌发布。
有什么想法吗 ?这是使用正确的模式吗?
我也在网上看到,有些人会把从 STS 收到的 SAML 令牌作为不记名令牌传递到 ajax 调用的授权标头中,但通常说不推荐。
saml - 带 Ping 的 IdP 注销模板
当我使用WS-Federation
协议并从我的应用程序(服务提供者)注销时http://pingserver.com:Port/idp/prp.wsf?wa=wsignout1.0
,我会被重定向到 Ping 提供的 IdP 注销模板。
但是,当我使用 SAML 协议并从我的应用程序(服务提供商)中注销时http://pingserver.com:Port/idp/SLO.saml2?SAMLRequest=
,我会被重定向到 SP 注销页面。
我在 Ping 端使用相同的 IdP 适配器,那么为什么会有不同的行为。Ping 不应该以同样的方式处理最后一个动作吗?
forms-authentication - 如何在 SamlSecurityTokenAuthenticator 中覆盖 ValidateAudienceRestriction
我正在使用 .Net 4.5,运行配置了身份提供程序的 ASP.net 服务。我想更改 AudienceUri 验证算法以允许通配符或将其配置为忽略子域。
它在评论中说:
(可选)覆盖 ValidateAudienceRestriction 方法以指定用于允许 URI 的验证算法。
我知道我需要创建一个新类,从 SamlSecurityTokenAuthenticator 继承并覆盖该方法。但是我不确定如何应用此覆盖,我认为我应该实例化新类并将其分配给某个类的静态成员,例如 FederationAuthentication,但我找不到合适的类。
有人可以澄清如何解决这个问题吗?
single-sign-on - WS-FEDERATION 更新证书
各位早安!!
我有一个关于 WS-FEDERATION 的问题。
我们有一个配置了 WS-FEDERATION 的合作伙伴(IDP 发起和 SP 托管)。他们使用 ADFS,我们使用 OPENAM(我们是 SP)
一切都设置得很好并且运行顺利。
但是他们的证书很快就要过期了,我们必须更新它。
所以从我在这里看到的我们应该做的事情:
导出 SP 和 IDP 元数据,将 X509 证书值替换为新值,然后将这些配置导入回来。
那是对的吗 ?
我正在使用 OPENAM,他们将 ssoadm 命令映射到 GUI。
所以我导出了这两个元数据,我替换了证书值,我们将同时与合作伙伴重新导入它们。
我从来没有做过那个改变,我想确保它是正确的方法并且我没有遗漏任何东西!
感谢您的帮助 :) :)
c# - 将安全令牌从一个依赖方委托给另一个依赖方
我有一个 WCF 服务,它是使用 WIF 构建的自定义 STS 的依赖方。我的 STS 向我的客户端应用程序颁发密钥持有者令牌。我创建了一个新的“后端”WCF 服务,我需要从现有的“前端”服务中调用它。 如何在前端服务中使用传入的安全令牌来调用后端服务,而无需从 STS 检索新令牌?
到目前为止,在我的前端服务中,使用自定义 Saml11SecurityTokenHandler 访问传入的 SamlSecurityToken 没有问题。
之后,我尝试了两种不同的方法将带外令牌附加到目标后端服务上的服务调用:
- 创建自定义 IssuedSecurityTokenProvider
- 使用 ChannelFactoryOperations.CreateChannelWithIssuedToken
但是,这两种尝试都会导致错误。据我所知,这似乎是同样的死胡同——他们不接受签名的 SamlSecurityToken。似乎即使这两种方法都接受基本 SecurityToken 类,但它们都只有在给定 GenericXmlSecurityToken 实例而不是 SamlSecurityToken 时才起作用。
更新 2:在做了更多研究之后,我能找到的最接近的东西是一篇关于使用WIF/ADFS 的身份委托的文章,它基本上只使用 ActAs 令牌,其中前端服务将使用它的令牌向 STS 发出请求从客户端应用程序接收。这需要对我们的自定义 STS 进行更新,我们希望此时不要这样做。我开始怀疑我在图表中说明的方法是否对 WIF 或 WS-Trust 有效?
claims-based-identity - 将登录记录到 identityserver 管理的各种应用程序
我们有很多通过 thinktecture identityserver v2 进行通用身份验证的站点。
现在我们想要有登录到站点的日志。我们有一个自定义的 IUserRepository,我们可以在其中登录用户登录,但是我们如何继续并获取用户登录的站点?
当我们从一个站点跳到另一个站点时-怎么会被记录下来
如果没有对此的内置支持,那么修改代码的最佳位置在哪里?
似乎它可以在我可以基于uri获得领域WSFederationController
的方法中完成。Issue
拉尔西
wif - How do I move federationConfiguration out of web.config and to some custom config file and load it dynamically by code
I have my configuration in web.config and it works fine.
How do I move this out of web.config to a custom config file and load it from code?
I want to use the same structure of this configuration so that I do not have to change anything in code if I have to change this configuration file.