【问题标题】:Azure Active Directory and WCF [closed]Azure Active Directory 和 WCF [关闭]
【发布时间】:2013-03-31 09:36:46
【问题描述】:

如何使用 Azure Active Directory 保护 WCF 服务:

我的状态: - 我的包含业务逻辑的 WCF 服务托管在 Azure WebRole 上。

我需要您的帮助来完成以下工作:

  • 在 Azure 中配置我的 WCF 服务以将身份验证过程联合到 Azure Active Directory。
  • 通过提供他的 [用户名/密码] 来配置我的 WCF 客户端以从 Azure Active Directory 获取令牌。
  • 配置我的 WCF 服务以验证客户端的令牌。

我的环境限制:

  • WCF 4.5 .
  • WIF 4.5 .
  • Visual Studio 2012 .
  • 这是一个概念证明,我必须使用自签名证书。

【问题讨论】:

标签: wcf azure active-directory wif ws-trust


【解决方案1】:

Alexey 的回答应该可以帮助您入门。但我要提一件事:

使用 Azure ACS,我为每个用户创建了一个 [用户名/密码] 通过 [ACS 服务身份]。

在生产中你不应该这样做。服务身份旨在授权受信任子系统的服务,其中密钥本身不会对外公开。请记住,ACS 是联合提供者,而不是身份提供者。它主要设计用于将现有身份系统链接在一起,而不是用于存储用户凭据。如果您的系统使用服务身份作为用户凭据进行扩展,您将遇到规模和用户帐户(密码)管理问题。

作为概念证明,这很好。但是对于真实的事情,您可能会依赖本地广告、facebook 和 google 等消费者身份提供商,或者查看http://www.windowsazure.com/en-us/manage/services/identity/

【讨论】:

  • 我的用户数量有限,[ACS 服务身份] 符合我的扩展计划。
  • 服务身份的问题不仅限于规模,还有几点需要记住的是,真正的身份提供者内置了一些重要的部分,例如让用户更改自己的密码以及忘记密码的自动电子邮件重置。服务身份密码也以明文形式存储。
  • 是否可以使用 gmail 或 yahoo 作为 IdP 来验证我的 WCF 服务客户端?
  • 可以,但需要在浏览器中登录 google 或 yahoo。您将让您的客户端应用程序弹出一个浏览器控件并将其发送到 ACS,然后将其重定向到 google 或 yahoo 登录页面。这是客户越来越普遍的模式。例如,Windows 商店应用程序有一种集成方式:(msdn.microsoft.com/en-us/library/windows/apps/hh750287.aspx)
猜你喜欢
  • 1970-01-01
  • 2015-01-11
  • 2017-06-28
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多