问题标签 [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.
asp.net-mvc-3 - Asp.net MVC - 将声明身份映射到自定义用户身份
在收到来自 Azure AccessControl Service 2.0 的声明身份验证后,我试图找出 ASP.NET MVC3 基础结构中映射自定义用户信息(从本地数据库加载)的最佳扩展点在哪里
我试图通过覆盖 Microsoft.IdentityModel.Claims.ClaimsAuthenticationManager 类的 Authenticate 方法来实现这一点:
但是,似乎在页面加载请求期间多次调用此方法。在此处加载自定义用户信息可能会产生性能问题。我想在每个经过身份验证的会话中只加载一次。
有没有更好的地方可以做到这一点?也许在构造 IClaimsPrincipal 的较低级别的某个地方?
wcf - 使用 Azure ACS 和 OAuth 2.0 的 Facebook 式 API 访问场景:如何实现应用授权?
我正在构建一个社交网站,它将向世界公开 REST API (WCF WebAPI),因此任何开发人员都可以为该网站创建一个客户端应用程序,将其与其他服务集成等。
我想为 API 实现 Facebook/Twitter 风格的访问控制机制。这样开发人员将在网站的开发人员部分注册他们的应用程序,创建一个密钥并在 OAuth 工作流程中使用该应用程序密钥来访问 API。
由于我在此项目中使用 Azure,因此我考虑利用 Azure ACS 来促进 OAuth 流程。但是,我找不到任何用于 ACS 应用程序授权的代码示例或手册。
有人可以分享这样的例子,或者至少给我一个我自己研究的方向吗?如果我可以使用另一个 OAuth 库(例如 DotNetOpenAuth)实现 Facebook/Twitter 行为,那也很酷。
先感谢您。
oauth - 如何使用 Azure ACS 开发经过用户身份验证的 REST 服务
我正在开发一个使用 MS Azure 访问控制服务进行身份验证的 REST 服务。如果这些示例有任何指示,那么以这种方式保护 REST 服务的典型方法是为受保护的服务提供全局用户名和密码、私钥或 X.509 证书。但是,我想在移动设备上使用类似于以下流程的被动用户登录机制:
- 未经身份验证的用户尝试从应用程序访问受保护的服务
- 移动应用重定向到浏览器应用(或嵌入式浏览器)
- 用户从 ACS 登录页面选择用于登录的身份提供商(facebook、google 等)
- 用户输入身份提供者的凭据
- 浏览器重定向回应用程序
- 应用程序以某种方式获取 SWT 令牌以用于后续 REST 请求。
我被困在第 5 步——获取 SWT 令牌,而我发现的现有示例似乎并没有解决这种情况。此外,我实际上正在尝试使用 WPF 中的桌面客户端构建概念验证,这可能会使事情复杂化。任何人都可以建议使用每用户身份验证与每服务的特定教程或追求路径吗?谢谢。
编辑: 随着我深入研究,我意识到下面发布的示例(以及大多数其他示例)基于 OAuth WRAP,它已被弃用,取而代之的是 OAuth 2.0。任何人都可以建议更新的参考吗?谷歌搜索出现了http://blogs.msdn.com/b/adventurousidentity/archive/2011/09/18/acs-v2-oauth-2-0-delegation-support-explained.aspx和http://connect。 microsoft.com/site1168/Downloads/DownloadDetails.aspx ?DownloadID=32719但它们不是最直观的。
windows-live-id - 使用 LiveID 时从 ACS 获取输入电子邮件地址
在使用 Live ID 时,是否可以以任何方式连接 ACS 规则以使用 $(InputValue) 从 ACS 返回/传递用户的电子邮件地址?
我正在使用被动身份验证并被重定向到 Live ID,但我想知道是否有任何方法可以连接来自 ACS 的可能获取 InputValue 电子邮件地址的规则
从我所看到的情况来看,我认为这当然可以通过托管登录页面来实现,但如果可能的话,我希望能够以其他方式从 ACS 获取它。
(我应该补充一点,当前场景是在现有 ASP.Net 应用程序之上实现 Live ID 身份验证,并带有用于用户身份和角色的数据库后端。)
与当前场景相关的额外信息:当前场景是一个 EXISTING 系统,具有自己的本地数据库身份验证安全模型。我尝试了各种方法来查看是否可以拦截用户的电子邮件地址,并最终决定这样做的可用方法是不可取的(在这种特定情况下)。
在这种情况下,发现转换为 Live ID 身份验证的唯一合适且安全的模式是围绕您的应用程序构建一个注册系统,该系统允许现有用户注册他们的 LiveID,然后将他们带回您的应用程序以捕获他们的 Live ID 'nameidentifier' .
但是,鉴于任何未知用户都可以执行此操作,因此有必要通过电子邮件或类似机制进行临时身份验证步骤,以验证正在使用的 Live ID 电子邮件地址。
我希望这对某人有帮助。
facebook - 使用 Azure 的 ACS 时如何注销 Facebook?
Facebook 开发者政策的第 6 条规则说我必须提供一个明确的注销链接,但我无法让它工作。
我的目标是让我的应用程序退出 Facebook、用户退出整个 Facebook 体验环境,或者两者兼而有之。到目前为止,我不能做任何这些。
这可能会因为我使用 Azure ACS 而没有使用典型的 FB API 而变得复杂。我尝试过的事情包括:
尝试 2:ACS 注销(未记录?)
这些方法都不允许备用 Facebook 用户登录。任何链接将不胜感激。
简化问题
如何让 *.accescontrol.windows.net 重定向回我的网站?
c# - 将 ACS 与 ADFS 实现为 STS
我们正在尝试使用 ACS 示例 4(来自http://claimsid.codeplex.com/)作为我们 ADFS 项目的模板。我们对 ADFS 身份验证服务的被动请求没有问题。在示例中,联合提供程序是自定义 STS,并且示例工作正常。
现在我们希望用我们自己的 ADFS 替换自定义联合提供程序(示例中的 Adatum FP)。
我们现在的设置如下(隐藏命名空间)
- ServiceClient:控制台应用程序,调用Services
- 服务:WCF Webservice,返回字符串的单一方法。这是默认设置 [Ordertracking.Services in sample]
- Services.Authentication:我们的自定义身份提供者。这是默认设置 [示例中的 Litware.SimulatedIssuer]
- ADFS:我们的联合提供者 [示例中的 FederationProvider.Adatum]
ServiceClient 想要调用服务,并且从配置中它知道它必须从 IP (Services.Authentication) 获取令牌。然后将令牌传递给 ADFS,ADFS 将验证令牌并将新令牌发送回 ServiceClient。客户端 new 将 FP 令牌传递给服务,服务(作为 ADFS 上的依赖方)针对 ADFS 验证令牌,并执行服务方法。
问题:
用 ADFS 替换示例中的 STS,似乎破坏了集成。我们似乎从 IP 正确地获取了令牌,但是在将 IP 令牌传递给 ADFS 时遇到了问题。似乎我们的 Audience Uri 有问题,但我们添加了
https://'adfs fqdn'/adfs/services/Trust/13/IssuedTokenMixedSymmetricBasic256
客户端异常 我们在客户端中收到带有此 InnerException InnerException {"ID3242: The security token could not be authenticated or authorized."} 的 MessageSecurityException。
ADFS 调试日志
我们已将观众 uri 添加到我们的 IP Web.config:
如有必要,我们可以发布其他配置文件和 ADFS 配置的屏幕截图。
.net - 使用 ASP.NET 成员资格提供程序的现成安全令牌服务 (STS)?
我想移动一个当前使用标准 ASP.NET 成员资格提供程序的站点,以通过 Windows Identity Foundation 和 Azure ACS 使用基于声明的身份验证。
我们将使用 OAuth 2.0 安全的 REST 服务来显示该站点,因此这似乎是一种明智的做法。我们还需要将我们的身份验证与外部第三方 ADFS 和其他系统联合起来,这正是 ACS 很好解决的问题。
但是,我还想保留现有用户使用其现有凭据的能力。
为此,我认为我需要一个与 ASP.NET Membership Provider 一起使用的自定义 STS。
所有文献(例如 Bertocci 的“Programming Windows Identity Foundation”)都表明编写自定义 STS 是个坏主意。而且,我同意——我真的不喜欢编写我们自己的安全代码。
那么 - 是否有可用的 STS 可以使用 Membership Provider 数据?
asp.net-mvc-3 - AZURE ACS - Windows Live ID - 如何获取经过身份验证的用户的电子邮件和姓名?
这是场景:
在 AZURE 开发环境中运行的 MVC 3 应用程序 AZURE ACS 中的身份验证以与此处相同的方式实现http://msdn.microsoft.com/en-us/library/hh127794.aspx
我正在尝试获取用户名和电子邮件,但我找不到配置“索赔规则”的方法,我会得到一个明文值,而是得到一个似乎被加密的字符串. 那么我可以以明文形式获取规则的方式来配置规则吗?或者我可以解密返回的值吗?这是可能的,还是我在这里看错了。
谢谢
wcf - 如何使用 ACS 保护 Azure WebRole svc 服务
我正在努力使用 WIF 和 ACS 保护托管在 Azure 中的 IIS 托管 svc WCF 服务。
我在这里找到了很多方法:http: //msdn.microsoft.com/en-us/library/gg185939.aspx
我对那些描述如何创建安全 WCF 服务并使用证书或用户名/密码进行身份验证的人特别感兴趣。
现在 ACS 定义部分已经很清楚了。但是当谈到保护服务本身时,我很挣扎。我正在使用 WebRole 和 SVC 文件来公开服务,并且操作方法中的配置是在代码中完成的,我猜它也不适用于 azure webrole。
任何有关如何使这种组合起作用的帮助将不胜感激!
azure - Azure ACS 的自定义登录页面不起作用
我从 ACS 门户为我的应用程序下载了示例登录页面,这是一个 html 文件。然后我用 WIF 配置了我的应用程序,一切都运行良好。
由于我们需要处理和保存传入的查询字符串,以便用户登录后可以稍后使用查询字符串,因此我们需要将 html 登录页面移动到 aspx 页面。
问题是当我将 web.config 文件中 WIF 的颁发者更改为 aspx 文件时,它停止工作。当它工作时,它看起来像这样:
但是当我将其更改为我的 aspx 页面时,我只是将 html 页面中的所有代码移入其中,我什至无法加载该页面:
然后,当我使用配置的 aspx 文件运行时,我可以在 fiddler 中看到一些不正确的东西,它尝试获取,并不断获取“对象移动到此处:”这是获取请求:
最后它会抛出查询字符串太长的异常。请求的错误和警告:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName UrlAuthorization
通知 AUTHORIZE_REQUEST
Http状态 401
HttpReason 未经授权
HttpSubStatus 0
ErrorCode Åtgärden har slutförts。(0x0)
配置异常信息
任何反馈或替代解决方案都值得赞赏。