问题标签 [acs]
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.
azure - 如果我有自定义 STS,是否需要联合身份验证?如果是这样,为什么?
如果我有一个自定义安全令牌服务,它专门列出了允许的受众并检查令牌是否来自这些受众之一,并检查 X509 证书的指纹和颁发者,我是否需要 WSFederation?
由于我的 STS 正在检查令牌是否已经来自特定应用程序并通过我的 ACS 进行路由,所以我不是在验证我需要做的所有事情吗?我知道应用程序 A 向 ACS 发送了一个请求,ACS 向应用程序 B 发送了一个请求,所有这些请求都来自自定义 STS,那么联邦身份在这张图片中的位置是什么?
为清楚起见进行编辑:
对不起,我在原始帖子中有点不清楚。我认为混乱是因为我使用了 STS 而不是安全令牌处理程序(方式不同,只是一个错字)。应用程序 A 是一个自定义登录服务,它显示用户的登录选项,google/facebook/yahoo/etc。通过这些服务登录从 ACS 获取令牌并将其返回给应用程序 B,即依赖方。此 RP 有一个自定义安全令牌处理程序,它接受令牌并验证它是否具有与应用程序 A 匹配的受众 URI。它还验证颁发者是 ACS 并且指纹与用于通过ACS。
这意味着理论上应用程序 B 知道,应用程序 A 用于登录(因为它来自该 AudienceURI)并且 ACS 发送了令牌(因为它是颁发者并且指纹匹配)。我要问的是应用程序 B 是否需要联合身份?如果您已经证明了令牌的来源,那么使用它究竟能得到什么?
authentication - 保护基于 WIF 的会话免受相关域 Cookie 攻击
我应该如何对基于 WIF 的身份验证会话实施额外的安全性,以保护自己免受以身份验证为目标的相关域 Cookie 攻击?
oauth-2.0 - 通过 Azure 访问控制服务使用电子邮件的 Windows Live
我正在尝试允许用户使用他们的 Google、Facebook 和 Windows Live 帐户登录到 ASP.NET MVC 网站。我目前正在使用 Azure App Fabric ACS,这让它变得非常简单。问题是我需要电子邮件地址。Google 和 Facebook 提供电子邮件作为声明,但 Windows Live 没有。从 LiveConnect 站点看来,使用 wl.basic(获取用户名)和 wl.emails(获取用户的电子邮件地址)范围似乎很容易,但我无法按顺序影响 ACS获取此信息。我还尝试实现 OAuth2 Web 服务器流程,以便在用户登录后从我的站点获取它。我能够获得所需的信息,但我陷入了无限的登录循环,因为 FedAuth cookie 被删除时我重定向到https://oauth.live.com/authorize开始流程。有没有人能够让它工作(在服务器端)?我是否应该完全废弃 ACS 并提供一个自定义页面,使用每个提供商的自定义代码来启用登录?
我用代码改造了以前的演示(博客引擎 ala smarx),这样我就不必暴露任何专有的东西。在我的 web.config FedUtil 中插入了以下内容:
我删除了拒绝所有用户
但是我有一个特定的操作方法(新博客的帖子)强制用户获得授权
在第一次填充 cookie(FedAuth 和 FedAuth1)时的 New 请求中。重定向返回后,它们就消失了。我没有对会话提供者做任何事情(也许我应该)。
windows-phone - 在 Windows Phone 上使用 ACS 时如何注销 LiveID?
我正在使用 Windows Phone 应用程序上的访问控制。由于某些原因,我必须要求用户在登录后使用其他帐户登录。但是,通常用户会勾选“自动登录”框,他将无法使用其他帐户登录。因此,我想知道如何注销 liveID 并要求用户再次使用另一个帐户登录。
我确实尝试过使用这个:
但不工作。关于我应该做什么的任何线索?谢谢!
wcf - 如何使用客户端证书从 acs 检索令牌?
我想使用 ACS 作为服务总线的 STS。我已经设法使用 ACS 对 Web 服务进行身份验证。但是,服务总线需要一个令牌,我不知道如何从 ACS 中检索它?
简而言之,我希望我的客户端 wcf 服务能够通过使用与存储为 acs 中的服务标识(对应于服务总线 -sb)的证书匹配的证书进行身份验证来使用服务总线。
此外,我将 NetTcpRelayBinding 用于服务总线。
如果我可以使用客户端证书检索它,我想我可以使用来自 acs 的令牌......?
silverlight - 带有 Silverlight 的 Azure ACS 网站
我是 Windows Azure 和 Silverlight 的新手。我正在尝试使用 Windows Live ID 进行身份验证来创建一个简单的 silverlight 网站。到目前为止,我设法使用一个简单的 ASP.net WebRole(很多关于它的教程)使它轻松工作,但没有使用 Silverlight。对于我的 Silverlight 站点,我创建了一个 WCFServiceWebRole,并引用了 Silverlight xap。它工作正常,现在我需要对用户进行身份验证并获取声明。简单地说,我需要像 Azure 网站那样做(您使用您的 Live ID,然后您访问 Silverlight 门户)。
我怎么能那样做?
提前致谢..
windows-8 - ACS 在 MetroApplications 中的实施
我尝试使用 c# 在 Metroapplications 中寻找实现 ACS 的示例。
但我找不到任何样品。
任何人都可以帮助我逐步详细说明使用 XAML 和 C# 在 Metro 应用程序中实现 ACS。
acs - 从 Azure ACS 下载登录页面后,如何让返回 URL 再次正常工作?
Azure 培训工具包包括一个名为“IntroToACS2”的实验室。您可以在其中创建一个 WebRole 并启用 ACS,以便您可以使用您的 Google、Live 或 Yahoo id 登录。实验的第二部分将引导您完成从 ACS 下载示例登录页面的过程,以便您可以使用自定义它来匹配您网站的样式。
在做这最后一部分之前,深度链接工作正常。含义:我可以请求一个安全页面,例如http://localhost/acsdemo/securepage.aspx,ACS会拦截该请求,将我重定向到登录页面,然后将我返回到http://localhost/acsdemo/securepage.aspx,但现在它只是将我返回到默认页面http://localhost/acsdemo/default.aspx。
从 Azure ACS 下载登录页面后,需要做什么才能让深层链接再次工作?
c# - Azure 应用程序在开发结构上工作,但在部署时不工作
我最近将访问控制服务合并到我们的应用程序中。它在开发结构中 100% 正常工作(没有抛出异常)。但是,在实际的 azure 网站上运行它时,它无法加载网站。
我在整个网站上添加了记录调用,唯一触发的是 OnStart() 方法中 WebRole 的开头和结尾。我已经将日志记录添加到它应该命中的控制器中,并且它永远不会被调用。我还添加了登录到“InitializePropertiesFromConfiguration”方法,该方法在我的自定义 WSFederationAuthenticationModule 中被覆盖,这让我相信它在 Web 配置中执行某些操作时遇到问题(添加我的自定义 STS 处理程序等)。下面是我的应用程序的 web.config,如果有人知道是什么可能导致诸如此类的问题,或者至少可以尝试一些东西,我将非常感激。更糟糕的是,工作防火墙问题意味着我无法远程进入 azure 机器以查看向 Windows 日志抛出的错误。我'
编辑:在搞砸了这个之后,我发现了 2 个问题,一个我已经修复,另一个仍然有待解决:第一个问题是 web 配置需要这个:因为我已经切换到 https
第二个问题与加载证书有关:
注释掉这部分代码,它运行良好。仍然存在它不起作用。显而易见的问题是它无法加载此证书。我尝试通过指纹加载,但无济于事。我最好的猜测是 Azure 上的 storeLocation 或 storeName 不正确。我已将证书添加到“证书”文件夹中,但找不到它。我会弄乱这些并报告回来。
EDIT2:找到了第二个问题的原因:我忘记将证书添加到网络角色,这个网站对解决这个问题有很大帮助:http: //blogs.msdn.com/b/jnak/archive/2009/ 12/01/how-to-add-an-https-endpoint-to-a-windows-azure-cloud-service.aspx
azure - Azure ACS + 自定义 STS,可能适用于混合方案吗?
我目前正在尝试了解 Azure ACS 与基于声明的身份验证的组合以及使用自定义 STS 的选项,但我只是慢慢地了解(不幸的是,很少)信息源。在我花更多时间在这之前,我想确认我的计划是否可行。我有多个 azure 角色(web+worker),员工和客户都可以通过 Internet 访问这些角色。此外,员工可以从我们的本地网络内部访问这些角色和桌面应用程序。
用户数据来自两个来源。我们的 azure 应用程序包含有关客户和员工的用户数据,我们的(本地)广告仅来自员工。
为了使登录体验尽可能高效(且符合人体工学),当通过我们的本地网络访问时,员工应在桌面应用程序(自动由于 Windows 用户配置文件上下文)和 azure 上自动进行身份验证(Windows 集成身份验证?)应用程序(希望没有登录页面)。另一方面,客户在访问 azure 应用程序时应输入他们的用户凭据,但不必在不同的“凭据源”之间做出决定,他们应该只获取用户名+密码表单。换句话说
- 员工从本地网络访问 Azure 应用程序 -> 使用集成的 Auth/AD 数据自动登录
- 员工从 Internet 访问 Azure 应用程序 -> 用户名+密码表单
- 客户从 Internet 访问 Azure 应用程序 -> 用户名+密码表单
在写这个问题时,我想到了另外两个:
1) 甚至可以根据源/cookie/wizardry 自动登录,还是需要手动用户选择“凭据源”?
2) 如果 Azure ACS“知道”用户名 X 的 AD 帐户与 Azure App 用户 Y 相同,那么登录哪个帐户有关系吗?应用程序可以在任一登录路径上访问相同的声明数据吗?