【发布时间】:2013-07-23 09:55:45
【问题描述】:
我知道这个问题似乎与这里的其他儿子相似,但我已经尝试过这里发布的答案:Securing WCF 4.5 service using Azure ACS 2.0
在这里:Federated authentication (single-sign-on) for a WCF REST/HTML-service on Azure
Ans 似乎都不相关。
这是我目前所拥有的。
- 具有各种辅助角色的 Azure 云服务,以及具有 REST 和 SOAP 端点的 WCF Web 角色
- 一个有几个用户的 azure Active Directory 帐户
- ACS 命名空间。
WCF 服务将由几个不同的公司使用,但除此之外的公司已关闭。我们选择 azure Active Directory 为 wcf 服务和其他应用程序提供 SSO。
这是我想做的:
- 为每个使用 WCF 服务的公司创建用户/密码 Azure Active Directory。
- 只允许拥有有效用户名和密码对的公司获取访问令牌
- 让每个公司都使用他们的令牌来访问 WCF 方法。
我认为这并不难完成,但所有的教程似乎都是针对带有控制台应用程序的 IIS 托管或自托管服务。
到目前为止我做了什么:
- 将 WCF 服务作为集成应用添加到 azure Active Directory 中
- 在 ACS 中创建了一个名为 testAAD 的新身份提供程序,并将集成应用程序中的 WS-Federation 元数据添加到该提供程序
- 添加了使用新创建的 testAAD 身份提供程序的依赖方应用程序
- 添加了一个带有直通规则的规则组,该规则使用 testAAD 身份提供程序和默认设置。
有关详细信息,请参阅选项 1 here。 我需要知道我所做的是否接近正确,如果是,我如何让 WCFservice 开始使用这些设置。
其他信息:
- WIF 4.5
- VS2012 专业版
- C#
任何相关的教程链接或一般建议都会很棒。提前致谢。
更新: 只是为了添加更多信息,许多不同的网站正在发布 WCF 服务。我们的每个客户都将从他们自己的 Web 表单中收集数据,然后使用 c# 代码添加服务引用,或者如果他们使用 php,则通过 curl 之类的方式将数据发布到 url。该服务有休息和肥皂端点。例如,他们会将 XML 或 SOAP 请求发送到 mynamespace.cloudapp.net/myservice.svc/servicemethod。我希望他们通过该请求发送他们的用户名和密码,并在实际的 WCF 方法中验证这些凭据,或者让他们请求一个身份验证令牌,然后在他们的请求中发送该身份验证令牌。
更新 2 我想我找到了丢失的部分。为了将活动目录用作身份提供者,我似乎需要设置一个 ADFS 服务器。我原以为 ADFS 服务器已经使用 azure Active Directory 帐户设置了,但显然不是这样?没有 ADFS 服务器有没有办法做到这一点?
【问题讨论】:
标签: azure wcf-security wif acs azure-active-directory