问题标签 [federated-identity]
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-3 - 实现身份提供者
我已经在我的 MVC3 应用程序中实现了 App Fabric Labs 的身份验证机制,因此现在我可以使用 Facebook、Google、Yahoo 和 LiveID 登录。是的!!
现在,如果用户不想使用任何这些系统怎么办?我需要提供“传统”的注册表单。我在想这需要实现一个身份提供者,这样我的应用程序就可以保持不变。
任何模板/项目都可以使用了吗?
谢谢 - e
single-sign-on - 如何使用联合身份验证模块仅保护网站的某些部分
我想为 SSO 集成 Windows 身份框架 (WIF),WIF 的联合身份验证模块在网站的每个页面上触发,将用户发送到我想要在我的网站的某些页面上未应用身份验证的登录 Pgae。
wif - 从控制器检索索赔 - 如何?
有人告诉我,如果我想在控制器中获取声明,我可以执行以下操作:
但是,这违反了视图和控制器之间的分离。控制器可能在没有的上下文中被调用HttpContext
- 那么正确的方法是什么?
TIA - ekkis
security - 切换 URL 时如何保持登录状态(两个 URL 的“相同 Web 应用程序”)
我正在开发的 ASP.NET MVC 3 站点可以从多个不同的 URL 访问,每个 URL 都将它连接到后端的不同数据库(到 DB 的 1:1 URL)。我需要能够允许用户在 URL 之间切换,而无需登录每个 URL。目前,我正在使用带有几乎标准 MembershipProvider/RoleProvder 方案的 Forms Auth。
允许更改 URL 和“保持登录”有哪些选项?我猜我需要实现某种联合安全性。你有什么建议吗?请注意,我需要控制安全性的所有方面(例如,不能使用 google id)。
如有必要,我可以将 WCF Web 服务添加到组合中。
如果可能的话,我不想与 AD 集成,因为我们不希望所有 Web 用户都成为域用户。
编辑:身份验证数据库当前在所有 URL 中都是相同的
提前致谢。
wcf - WCF FederatedAuthentication 会话状态与 ClaimsAuthorizationManager 混淆
语境:
Stack 和 Bing 上有一些讨论WCF和与ASP.NET的会话共享的线程。没有一个能完全满足我的问题。所以这里是:
我有一个MVC站点,它在路径“/services”下的RouteTable中也有一些服务。这一切都很好。我可以同时调用控制器操作和 WCF 服务方法。
我已使用Windows Azure 访问控制服务 (ACS)启用WIF和联合身份验证。这也很好用。我可以使用 Facebook、Google 等登录,并且在我的网站上明确建立了一个会话。我可以调用 MVC 控制器操作和 WCF 方法。在这些主体内部,当前用户的 IPrincipal 设置为我当前的会话。
现在我想成为一个好孩子并使用自定义ClaimsAuthenticationManager 和自定义 ClaimsAuthorizationManager。现在出现了一个奇怪的问题:
设置:
对于这种情况,我已登录。我有一个会话。我可以在 MVC 控制器方法和 WCF 服务方法的方法体中确认这一点。这意味着我们可以将自定义 ClaimsAuthenticationManager 排除在外,因为当我已经有一个会话时它不会被触及。
让我头疼的是自定义 ClaimsAuthorizationManager。
当我调用 MVC 站点时,我通过 ClaimsAuthorizationManager.CheckAccess 方法内的会话以及 MVC 控制器操作的主体内的会话进行身份验证。到目前为止,一切都很好。
问题:
当我调用 WCF 服务时,我没有在 ClaimsAuthorizationManager.CheckAccess 方法内使用我的会话进行身份验证,但是当我在 WCF 服务方法内点击断点时,我(突然)通过了身份验证。
这没有任何意义!看来我的会话没有在 ClaimsAuthorization 管理器内部膨胀,而是在我点击自己的 WCF 代码时,会话就位!
怎么会这样?
干杯,
马格努斯
claims-based-identity - 如何使用 WIF 实现主动联合提供程序
我有几个 Silverlight、WP7 和 ASP.NET MVC 客户端应用程序 大多数允许匿名访问应用程序,但在登录时根据用户凭据保护各种功能。所有客户端都使用通用后端服务应用程序进行数据访问和业务需要用户凭据进行身份验证和授权的处理。
我们目前在所有客户端应用程序中使用表单身份验证,我想迁移我们的架构以使用联合身份和基于声明的模型。被动联合不是一种选择。
我正在寻找以下流程:
- 用户触发登录对话框,输入他们的用户名和密码,然后单击“确定”。
- 在幕后,应用程序调用我们现有服务应用程序中的活动 STS 服务进行身份验证。
- 该服务实际上是一个联合 STS,并将调用传递到(活动的)IP_STS,它可能是也可能不是 ADFS。
- 当 IP 将令牌返回给 FP 时,FP 在将令牌返回给客户端应用程序之前使用来自服务器数据存储的附加声明修改令牌。
- 客户端应用程序在内存中维护令牌以进行授权检查(例如,在 Thread.CurrentPrincipal 中)。
- 客户端在向我们的服务应用程序中的其他服务操作发出请求时也会传递令牌。
- 这些服务操作将使用令牌对请求进行身份验证/授权。
这是一个与我能够找到的任何文章和示例非常不同的用例。任何人都可以提供一些指导和/或指出我正确的方向吗?
authorization - 为 WIF 创建一个自定义授权提供程序,允许针对唯一项目进行身份验证
我们正在实施联合身份管理,并且存在用户需要针对唯一标识的项目进行身份验证的场景。例如,Bob 可能对记录 12345、34444、23443 和 23443 具有读取权限,而 Jane 可能对记录 12345、34444 和 23443 具有读取/写入权限以及对记录 56445 的读取权限。
我有两个问题:
假设某人可以访问一百或一千个单独且唯一的记录。使用基于声明的安全性,我了解传入的安全令牌将包含所有这些声明。代币的大小会成为问题吗?
我没有看到很多关于创建用于管理授权的管理系统的指导,即在我们的案例中,将用户分配给经过身份验证的记录。我看到了很多关于尽可能使授权声明性的建议,但没有太多关于在不可能时该怎么做的建议。
非常感谢任何建议或方向。
authentication - Windows Live ID 继续按钮损坏
我们有一个使用 Windows Live ID 作为其身份验证机制的生产 Web 应用程序。几个月来,它一直运行良好。然而,在八月初,我们突然开始遇到一个严重的问题......
如果用户已经登录到 Windows Live(通过我们在另一个窗口中的应用程序或不同的 Windows Live 应用程序)并导航到我们的站点,则会出现一个继续按钮。它显示“您已经登录”,并让用户单击继续并被重定向到我们的站点。8 月初,此继续按钮停止工作。你点击它,它什么也不做。我们没有更改代码中的任何内容,你瞧,我们并不是唯一遇到此问题的人: http: //social.msdn.microsoft.com/Forums/en-US/wliddev/thread/15405d0d-8c14 -4e10-821b-55c3bae580bc
这显然是微软页面中的一个错误。我们需要的是一种解决方法——如果我们的客户已经登录 Windows Live,他们实际上就无法访问我们的应用程序。他们必须去不同的网站,退出,然后再回到我们的网站。您可以想象这是一种痛苦,并让我们在使用 Windows Live 作为身份验证机制时三思而后行。
在等待微软的错误修复之前,我们已经陷入困境,不得不向客户解释这一点。我们正在寻找解决方法并自行解决。我们当前的解决方案是,“确保您在访问我们的 Web 应用程序时没有登录 Windows Live。” 不太理想。有任何想法吗?
谢谢!
federated-identity - 仅包含 7 个声明的大型 FedAuth Cookie (FedAuth4)
我正在努力弄清楚为什么ClaimsPrincipal
只有 7 个声明会FedAuth
从 FAM 生成 5 个 Cookie(FedAuth1、FedAuth2、FedAuth3、FedAuth4)。
这会导致问题,因为 Safari 正在截断我的 cookie 并且我的 mac 用户无法登录。
有什么想法为什么我可能会遇到这种情况,或者我可以在哪里找到答案?
更新:正如 Eugenio 所指出的,设置 SaveBootstrapTokens=false 将 cookie 从 5 缩小到 2,现在 safari 用户可以登录。
openid - 联合登录(例如 OpenID)会带来 SQL 注入风险吗?
是否可以安全地假设所有身份提供者都会清理用户信息,或者是否可以创建一个帐户或身份提供者来传递恶意用户名、电子邮件、联系人列表等?