问题标签 [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.
asmx - 将 FedAuth cookie 传递给 Web 服务调用
我有一个在 Azure 上运行的 ASP.NET 站点,地址为 https://[appname].cloudapp.net。我还有一个 asmx Web 服务作为子应用程序在 https://[appname].cloudapp.net/WebService 的同一实例中运行。
根站点受到被动 ADFS 身份验证的保护。由于 Web 服务从根应用程序的 web.config 继承设置,因此它也受到保护。
我的问题是,当我进行 Web 服务调用时,FedAuth cookie 没有传递给 Web 服务,我总是收到 STS 登录页面作为来自 Web 服务的响应。
如何使用从登录根应用程序中检索到的 FedAuth cookie 来验证我的 Web 服务调用?
single-sign-on - ADFS 2.0 的负载平衡。单机服务器支持多少用户?
我想弄清楚 ADFS 2.0 独立服务器可以支持多少用户。我的意思是服务器的负载。我的客户说它只支持 100 个用户(对于一个服务器和如此简单的操作来说似乎很奇怪),他们同时有 700 个用户。所以他建议使用联合农场而不是独立服务器。但我更喜欢先检查。
那么,您能否分享有关独立 SSO 服务器 VS 服务器场的负载限制的信息?任何文档,带有数字的文章,专家的想法等等......
.net-4.5 - 我是否需要创建 STS 才能使用不是 ADFS 的 SAML 2.0?
我有一个场景,Web 应用程序需要使用发送 SAML 2.0 的 IDP 对用户进行身份验证。具体来说就是 SiteMinder。我被告知他们会向我发送 SAML 2.0 断言。
对此我完全陌生,我研究并了解了它是什么,此外,我推荐的这个链接 说 STS 可以扮演两个角色(当他们对用户进行身份验证时作为身份提供者 (IdP) 或作为联合提供者 (FP)他们位于信任链的中间并充当其他 IdP 的“依赖方”)这使我得出结论,我只能使用 ADFS。
我还在他们的网站http://thinktecture.github.io/上看到了这个不错的项目以及其他信息,这使我能够成功启动并运行基于索赔的应用程序并清除许多概念。我不确定是否需要将 Identity Server 用作 STS
现在有了所有这些,我留下了这些问题,
要支持执行 SAML 2.0 的 IDP,我是否需要编写一个位于 IDP 和我的 APP 之间的 STS(可能使用 thinktecture 的 Identity Server V2?)。
我还看到有人说使用支持 SAML 的 ADFS 并与 ADFS 对话。
我已经开始探索 ComponentSource 他们有 SAML Lib。
请指教。
wcf - 通过颁发的令牌对 STS 进行身份验证
我正在努力将应用程序与各个区域和极其细粒度的权限联合起来。每个不同的区域都有一个联合的 WCF 端点来与服务器进行通信。由于细粒度的权限,包含所有权限的单个令牌可以大到 1MB,甚至更多。
要求规定,在初始登录过程之后,用户的用户名和密码凭据不得保存在我们的代码库中。权限不能组合以创建更小的集合。我们将 Thinktecture.IdentityServer 用于我们的 STS 实现。
我提出的解决方案是在 STS 中将每个端点分解为自己的领域,并且 STS 将返回一个带有为领域指定的权限声明的令牌。为了实现这一点,我想要一个通过用户名/密码进行身份验证的 Auth 领域,并返回一个包含用户、租户和子组 ID 的令牌,然后可以将其用作向其他领域进行身份验证的凭据。
设置 STS 以发布特定于领域的令牌已经实施。剩下的唯一要求是用户名/密码不在我们的代码库中。
是否可以通过提供来自特定领域的先前颁发的令牌来配置 STS 以允许身份验证?有没有我没有想到的更好的解决方案?
oauth - 来自第三方 ID 提供者的简单主动联合
我有一个安全的 Web 应用程序,我希望向合作伙伴公开,以便他们的客户可以将信息直接捕获到我的应用程序上托管的表单中。
该表单将显示在嵌入在合作伙伴 Web 应用程序中的 iframe 中。iframe 的 URL 将指向我的应用程序,并包含某种形式的会话令牌,我在合作伙伴呈现 iframe 之前向他们颁发了该令牌。
我不想将用户的凭据存储在我的应用程序中,我只需要一种机制来与合作伙伴一起验证用户是否已通过他们的身份验证并被授权执行我托管的操作。
我已经查看了 SAML 和 oAuth,但对于身份提供者来说,两者的实现似乎都非常复杂。我宁愿自己实现大部分复杂性,并为合作伙伴提供一种简单的集成方式。
即关键是找到一个对身份提供者来说简单的解决方案
例子:
合作伙伴通过一些预定义的端点向我请求会话令牌(他们将指定他们的用户需要执行的操作、用户的用户名或 id 和客户端令牌以验证响应)。
https://myapp.com/getsession/?username=bob&action=action1&token=CLIENT_SESSION_TOKEN
我返回一个 SERVICE_SESSION_TOKEN。
合作伙伴在其应用中嵌入了具有以下 URL 的 iframe:
https://myapp.com/action1/?username=bob&token=SERVICE_SESSION_TOKEN
我验证令牌并为有权执行 action1 的用户创建一个经过身份验证的会话。
我返回 action1 的表单,并在 iframe 中呈现。
当用户提交表单时,我可以通过将 iframe 重定向到
https://partner.com/action1_callback/?username=bob&token=CLIENT_SESSION_TOKEN&result=RESULT
是否有支持这种协议的标准?oAuth 和 SAML 使身份提供变得非常复杂。
saml - SAML IDP 和 WS-Federation SP 与 ADFS 2.0
我对当前的 ADFS 设置感到非常困惑。我有一个身份提供商,它在 IDP 发起的场景中向 ADFS 2.0 发出 SAML 2.0 令牌。ADFS 将令牌转换为 WS-Federation,并将其转发到声明感知 (WIF) Web 应用程序。但是,Web 应用程序无法识别用户已通过身份验证并重定向回 Home Realm 发现。我在 Firefox 中使用过 SAML Tracer,我可以看到 SAML 断言进入,以及发送到 Web 应用程序的参数中的 WS-Federation 声明。我缺少一个步骤吗?我设置了自定义声明规则以将 SAML 断言转换为 WS-Federation 声明(例如http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) 2网络应用程序,然后一切正常。
wso2 - WS-Federation 协议已弃用
我正在使用身份和访问控制,我想使用 Ws-federation 协议来启用基于浏览器的 SSO(单点登录)。我想知道这个协议是否由于安全原因而被弃用?
adfs2.0 - wfresh 参数导致 ADFS 登录失败
我正在使用 ADFS 与许多不同的 RP 进行联合登录,包括我们自己的自定义 Web 应用程序、Office 365 和其他一些第三方服务。我遇到了一个问题,当wfresh=0
在 URL 中指定时,登录会静默失败。它只是一遍又一遍地询问我的密码。当我单击“登录”按钮时,它不会让您登录并将您重定向回 RP,也不会失败并给您错误消息。相反,它会将您重定向回 STS 登录页面,因此在用户看来,它就像静默失败一样。
我发现了这个问题:wfresh not working with WS-Federation via ADFS,这似乎是在正确的轨道上。但是,虽然我确实看到了集成登录的问题,但我也遇到了与 Forms 登录类似的问题。外表症状不同,但行为似乎相同:如果您指定wfresh=0
,它会直接将您发送到 /adfs/ls。
有什么方法可以配置 ADFS 以wfresh
正确处理,或者至少忽略它?
更新:交叉发布到 MSDN 日内瓦论坛:http ://social.msdn.microsoft.com/Forums/vstudio/en-US/7acbbd11-cd69-466b-8faa-f129f24fe1fe/wfresh-parameter-causing-adfs-login-失败
asp.net - WIF、ADFS 2.0、wsignoutcleanup1.0 和 wreply
我设置了一个 WIF Web 应用程序、一个自定义 STS 和一个 ADFS 2.0 实例作为它们之间的过渡。我很难理解我的应用程序的注销过程。目前,当我的用户单击退出按钮时,我正在调用此代码:
如果我使用此代码,它可以正常工作。所有 cookie 和会话均已正确处理。唯一的问题是浏览器在进程结束后只显示一个绿色的小勾。显然,我想被重定向回 STS 的登录页面。为此,我尝试了以下代码:
我的信念是,wreply 会导致用户被重定向回我的依赖方应用程序,在那里他们将是未经授权的,因此被重定向回 STS 登录页面。相反,这会导致 ADFS 中出现错误(由于它们有用的错误页面,我看不到该错误。)无论我使用什么 url 进行 wreply,都会引发错误。我是否正确使用 wsignoutcleanup1.0?仅供参考,这是我处理登录/注销请求的 STS 中的代码:
asp.net - ADFS 注销记住最后一个用户
这是我的问题。我已经设置了 WIF RP、自定义 STS 和 ADFS。ADFS 具有适当的声明提供者信任和依赖部分信任。当我从 RP 触发注销时,我使用以下代码执行此操作:
这工作正常。我被 STS 注销,然后它尝试将我重定向回我的依赖方应用程序。依赖方应用程序说我没有经过身份验证,我最终回到了 STS 的登录页面。到目前为止,一切都很好。问题是,如果我尝试使用其他用户登录,依赖部分应用程序仍然认为我是以前的用户。那么我错过了什么?如何让依赖方应用忘记我以前的用户?我已经尝试了 wsignoutcleanup1.0,但没有运气。