我知道这个问题似乎与这里的其他儿子相似,但我已经尝试过这里发布的答案:Securing WCF 4.5 service using Azure ACS 2.0
在这里:Azure 上 WCF REST/HTML 服务的联合身份验证(单点登录)
Ans似乎都不相关。
这是我到目前为止所拥有的。
- 具有各种辅助角色的天蓝色云服务,以及具有 REST 和 SOAP 端点的 WCF Web 角色
- 一个有几个用户的天蓝色活动目录帐户
- ACS 命名空间。
WCF 服务将由几个不同的公司使用,但除此之外,其他公司已关闭。我们选择 azure Active Directory 为 wcf 服务和其他应用程序提供 SSO。
这是我想做的事情:
- 使用 Azure Active Directory 中的 WCF 服务为每个公司创建用户/密码。
- 仅允许具有有效用户名和密码对的公司获取访问令牌
- 让每家公司使用他们的令牌来访问 WCF 方法。
我认为这并不难完成,但是所有的教程似乎都是针对带有控制台应用程序的 IIS 托管或自托管服务。
到目前为止我做了什么:
- 在 azure 活动目录中添加 WCF 服务作为集成应用程序
- 在 ACS 中创建了一个名为 testAAD 的新身份提供程序,并将集成应用程序中的 WS-Federation 元数据添加到该提供程序
- 添加了使用新创建的 testAAD 身份提供者的依赖方应用程序
- 添加了一个具有传递规则的规则组,该规则使用 testAAD 身份提供程序和默认设置。
有关详细信息,请参见此处的选项 1 。我需要知道我所做的是否接近正确,如果是,我如何让 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 服务器有没有办法做到这一点?