问题标签 [azure-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.

0 投票
1 回答
121 浏览

azure - 如何向客户公开我的 SQL Azure 数据库子集以进行报告?

我正在尝试确定 Azure SQL 报告是否可用于为我们在 Azure 中托管的具有 Azure SQL 数据库后端的应用程序提供报告。

理想情况下,我们希望能够为用户提供创建自己的报告的能力。为此,我们需要向他们公开适用于与他们关联的组织的数据子集。

用户身份来自通过 Azure ACS 的联合提供商。

我可以做些什么来自定义公开的数据并仅提供允许用户访问的子集?

0 投票
2 回答
1084 浏览

c# - 在没有 WSFederationAuthenticationModule 的情况下解析“wresult”值

从 Azure ACS 返回时,我在 FormCollection 中检索联合身份验证结果。包含我需要的信息的值位于一个名为“wresult”的加密值中。我在解密此值以将其用于进一步身份验证时遇到问题。

我不想使用 WSFederationAuthenticationModule 因为我没有授权设置 cookie。使用该模块时,它会自动将 auth-cookies 设置为 Federated-Authenticationtype。

相反,我想检索 wresult 中包含的声明,然后设置我自己的安全令牌(无论是 JWT、SAML 2.0 还是其他)。

到目前为止,我发现的唯一可能的解决方法是使用 FAModule,然后立即删除会话令牌 cookie。但这将导致 auth-cookie 在响应中设置两次,并立即取消设置该值。

我最终想要实现的是:提供使用表单站点进行身份验证或使用 Azure ACS 中的任何身份提供程序进行身份验证的可能性。使用表单身份验证,我可以立即比较用户名和密码,并将安全令牌设置为我希望它拥有的任何声明。但是在使用 Azure ACS 时,我想先将检索名称标识符与数据库中保存的值进行比较,然后设置我的自定义安全令牌,而不是 WS 联合安全令牌。或者,如果 nameidentifier 未知,我想重定向到表单页面,用户可以使用他的凭据验证这个 nameidentifier。我不希望将 azure ACS 返回的值计算为经过身份验证。

0 投票
0 回答
855 浏览

wcf - 从 Azure ACS 获取 SAML 令牌

我们目前有一些 WCF 服务使用 ACS 的主动身份验证,目前使用如下:

  • 用户调用 - 用户调用我们的旧 api,在 POST 请求中使用自定义消息格式的用户名和密码。
  • API 然后调用在请求中提供此用户名和密码的其他 WCF 服务,后者通过 ACS 进行身份验证以获取服务所需的令牌

我们要实现以下内容:

  • 用户调用我们的旧 api,在 POST 请求中使用自定义消息格式的用户名和密码。
  • 剥离 API 中的用户名和密码,并使用这些作为服务身份的凭据联系 ACS,获取 SAML 令牌作为响应
  • API 然后调用在请求中提供此 SAML 令牌的 WCF 服务

我正在阅读为完成此操作需要做什么,但我读过的大多数示例/示例都在谈论从 azure ACS 服务获取 SWT 令牌,而不是获取 SAML 令牌。

这是因为它们已经过时了,并且类似的方法将在 ACS 2.0 中工作以获取 SAML 令牌?

还是不支持?(大概它必须是 WCF 完成的)

有没有人有任何如何做到这一点的例子。

0 投票
1 回答
749 浏览

azure - 使用 Windows Azure Active Directory 的 SSO

我对 Active Directory 和 SSO(单点登录)非常陌生。我对此知之甚少。

我需要有关如何在 azure 环境中使用活动目录启动 SSO 操作的信息。

0 投票
7 回答
2780 浏览

azure-mobile-services - 使用 Azure 移动服务进行开发?

目前在 Azure 移动服务中开发后端系统的“最佳”方式是什么?

具体来说,有哪些工具可用?据我所见,大多数示例只是转到管理门户并手动将几行添加到脚本窗口中。这比只使用记事本更糟糕,并且没有任何版本控制的概念......

有没有办法在 VS 2012 中创建一个项目,其中包含将在 Azure 移动服务中运行的所有 Node.js 代码?有没有办法在模仿移动服务的本地开发环境中完全运行该代码?

我需要的服务器端代码比我能找到的大多数移动服务示例或文档中显示的复杂得多。

我有一个网站和一个 Win 8 商店应用程序,需要对其进行身份验证,并从后端数据库访问相对复杂的数据结构。现在推出的解决方案似乎都以移动服务为核心,对原始表使用简单的 REST,但所有示例都过于简单而无用。

有人可以指出使用移动服务的“现实生活”示例,以及使用 Visual Studio 中的工具开发和测试此类系统的“成熟”方式吗?

谢谢。

0 投票
1 回答
3973 浏览

azure - 使用 JWT 保护 WebAPI

我正在尝试编写一个移动应用程序,该应用程序将从基于 webapi 的站点获取数据。

该站点应通过 ACS 保护(因为可以有多个身份提供者)。

我的移动应用程序目前正在查询以下网址https://xx.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=javascriptnotify&realm=http://xx.azurewebsites.net/&version=1.0以获取列表的 IP。

然后我允许用户选择一个 IP,然后使用 Web 浏览器控件向他们显示登录信息。

用户登录后,我会捕获响应并提取令牌,但现在我不确定我应该做什么。令牌如下所示:-

所以,我猜我应该使用 securityToken 部分并将它的 Authorization 标头的一部分添加到 get 请求中?

问题 1 是我应该如何附加令牌 - 我只是附加安全令牌位,还是必须对批次进行 base 64 编码并再次将其附加为授权标头?

问题 2 如何配置 webapi 来处理 JWT?在我修改 ACS 以发出 JWT 令牌并安装 JWTSecurityTokenHandler 后,我仍然收到以下错误(这是被动身份验证):

谢谢

罗斯

0 投票
1 回答
1041 浏览

authentication - 具有基于 Office 365 的 SharePoint 2013 Web 应用程序的多个身份提供者

我正在尝试让多个身份提供商(Google、Facebook、多个 ADFS)与 Office 365 上配置的 SharePoint 2013 Web 应用程序一起工作。

我知道与 ADFS 和 Shibboleth 相关的选项,但我想知道是否有任何方法可以让 Azure ACS 处理此 Web 应用程序的身份验证。我确实有一个与 Azure ACS 配合使用的本地 SharePoint 2013 Web 应用程序,但没有太多关于如何使用 Office 365 或是否可行的信息。

0 投票
2 回答
1213 浏览

azure - 本地和生产的 Azure ACS 配置

配置 Azure ACS 以便当我在开发结构中本地运行时仍然可以进行身份​​验证的最佳方法是什么?

我只想配置一次,并且能够在本地开发并发布到 azure,而无需更改配置。只要我能以某种方式伪造声明,我什至愿意在本地开发时不使用联合身份验证。

0 投票
0 回答
288 浏览

azure - ACS90027:多个主体使用 Active Directory 中的 OAuth 匹配“ccf87be2-5370-4232-8453-0cadd770e3fe”标识符

我正在尝试使用 Azure AD 作为 OAuth 授权提供程序。我创建了一个 asp.net Web 应用程序,仅用于测试,并在 azure AD 中注册了一个应用程序。

从我创建了一个到授权端点的 Web 请求的网站,请求发送正常,并且我被要求提供凭据。填写我的用户名和密码后,我总是收到此错误:

处理您的请求时发生错误。

HTTP 错误代码:

400

信息:

ACS50000:发出令牌时出错。

内心讯息:

ACS90027:多个主体匹配“ccf87be2-5370-4232-8453-0cadd770e3fe”标识符。

跟踪 ID:

0a79ca43-41c8-4e91-95ee-acb25cfd6053

相关标识:

e1396b28-868f-4e60-9a7d-9822f3b9d753

我认为我的请求没问题,但我不知道发生了什么,我确定只有一个应用程序注册了该标识符。这是我的要求(我使用 get 进行测试):

https://login.windows.net/[subscriptionid]/oauth2/authorize?resource=http://localhost&client_id=ccf87be2-5370-4232-8453-0cadd770e3fe&state=Windows%20Azure%20Active%20Directory&response_type=code&scope=http://本地主机

更新

我下载了 cmdlet,使用 Get-MsolServicePrincipal 这是我看到的,没有重复的主体:

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:True 地址:{} AppPrincipalId:00000002-0000-0000-c000-000000000000 DisplayName:Microsoft.Azure.ActiveDirectory ObjectId:951bd0e5-23af-48e9-bda3-31ccce6a1a45 ServicePrincipalNames:{ } //graph.windows.net , 00000002-0000-0000-c000-000000000000, Microsoft.Azure.ActiveDirectory, 00000002-0000-0000-c00 0-000000000000/graph.windows.net...} TrustedForDelegation : False

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:False 地址:{} AppPrincipalId:00000010-0000-0000-c000-000000000000 DisplayName:Microsoft.Azure.GraphStore ObjectId:6b8ec6ad-5bc9-4256-b301-84825d707c5401 ServicePrincipalNames: 0000-0000-c000-000000000000,Microsoft.Azure.GraphStore,00000010-0000-0000-c000-000 000000000/graphstore.windows.net} TrustedForDelegation:真

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:True 地址:{} AppPrincipalId:0000000c-0000-0000-c000-000000000000 DisplayName:Microsoft.Azure.ActiveDirectoryUX ObjectId:feb2afcf-e82c-4d30-b0b8-7bd875c4bd94 ServicePrincipalNames:{0000000c 0000-0000-c000-000000000000,Microsoft.Azure.ActiveDirectoryUX,0000000c-0000-0000-c 000-000000000000/activedirectory.windowsazure.com} TrustedForDelegation:真

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:True 地址:{} AppPrincipalId:0000000f-0000-0000-c000-000000000000 DisplayName:Microsoft.Azure.GraphExplorer ObjectId:4eda2f9f-6f3c-4497-ae0c-8284fd50000000fPrincipalNames:{0000000000fPrincipalNames: 0000-0000-c000-000000000000,Microsoft.Azure.GraphExplorer,0000000f-0000-0000-c000-000000000000/graphexplorer.windows.net} TrustedForDelegation:真

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:False 地址:{} AppPrincipalId:00000013-0000-0000-c000-000000000000 DisplayName:Microsoft.Azure.Portal ObjectId:7a5289bf-60c9-4e08-aba0-cc5a9221b00001 ServicePrincipal3Names:{000000001 0000-0000-c000-000000000000,Microsoft.Azure.Portal,00000013-0000-0000-c000-0000000 00000/manage.windowsazure.net} TrustedForDelegation:真

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:True 地址:{Microsoft.Online.Administration.RedirectUri} AppPrincipalId:ccf87be2-5370-4232-8453-0cadd770e3fe DisplayName:Api ObjectId:570c934e-4215-4f09-a907-3bd35539080d ServicePrincipalNames:ServicePrincipalNames { http://api.dnndev.me/ , ccf87be2-5370-4232-8453-0cadd770e3fe} TrustedForDelegation : False

ExtensionData:System.Runtime.Serialization.ExtensionDataObject AccountEnabled:True 地址:{Microsoft.Online.Administration.RedirectUri} AppPrincipalId:a51f0618-a534-4f95-955e-d1ed7802bc69 DisplayName:pruebas ObjectId:d5d4c74e-0212-49de-9bc2-928b63005 ServicePrincipalName { http://pruebas.dnndev.me , a51f0618-a534-4f95-955e-d1ed7802bc69}

谢谢!

0 投票
1 回答
3733 浏览

claims-based-identity - 是否有 javascript 库可以通过 Windows Azure Active Directory 获取身份验证令牌

我有许多使用 Microsoft MVC4 Web Api 创建并使用 WIF 和使用 WS-Fed 的 Windows Azure Active Directory (WAAD) 保护的 Web 服务。

我还有一个纯 HTML5/Javascript 单页应用程序 (SPA) 客户端,需要访问这些 Web api。

Javascript 中是否有任何已知的示例/库来处理与 WAAD 的交互

  • 确定用户是否已经登录。
  • 登录用户并在需要时获取安全令牌
  • 交互完成后退出。

如果没有,是否有任何推荐的链接到实现类似功能所需的文档。