Azure Active Directory 和 WCF 服务库示例

Posted

技术标签:

【中文标题】Azure Active Directory 和 WCF 服务库示例【英文标题】:Azure Active Directory and WCF Service Library Example 【发布时间】:2017-06-28 23:30:38 【问题描述】:

我有一个现有的 WCF 服务库(自托管)。我正在尝试将其移动到云工作者角色中,并发现我的旧 AD LDS 无法正常工作(除非我通过 LDAP 使用 SSL 保护它,这似乎有问题)。我有一个简单客户端与 MVC 控制器交谈的工作示例,但我无法将其转换为 WCF 库。有没有人知道一个可行的例子或通过它可以告诉我这是如何完成的?

【问题讨论】:

【参考方案1】:

根据描述,您希望将本地目录与 Azure Active Directory 集成以对 WCF 进行身份验证/授权。

在这种情况下,我们需要安装 Azure AD Connect 以将您的 Azure AD 与本地 AD 联合。当您的客户端想要请求 WCF 时,它需要通过 Azure AD 获取访问令牌。这是一个供您参考的图:

您可以找到许多有关如何将本地应用程序迁移到云端的文档。这里有一个供您参考:

Microsoft Azure - Tips for Migrating Your Applications to the Cloud

您可能还对Azure Relay 感兴趣,它使您能够安全地将驻留在公司企业网络中的服务公开给公共云,而无需打开防火墙连接,也无需对公司网络基础架构进行侵入性更改。

更新

如果您使用的是 Azure Active Directory,则无需在应用程序中查询 AD。相反,Azure AD 将发出一个访问令牌,您可以使用它来调用 WCF。而在 WCF 中,您只需要验证访问令牌是否有效。帖子中的场景更复杂,它将 Azure Active Directory 与本地 Active Directory 集成。

Microsoft 还提供了大量示例来帮助开发人员开始与 Azure Active Directory 集成,您可以从here 参考这些示例。而对于在 WCF 中手动验证访问令牌,您还可以参考 here。

【讨论】:

没有。这根本不是我描述的问题。我无法通过我的服务将现有的面向客户端的 AD LDS 带入云中,因此我需要将其替换为 Azure Active Directory。 Web 服务是一个 WCF 服务库,这意味着它没有 MVC 或 Web API 应用程序的管道。我似乎找不到关于如何在没有 MVC 管道的情况下访问 Azure 的单一参考。 如果您使用的是 Azure Active Directory,则无需在应用程序中查询 AD。相反,Azure AD 将发出一个访问令牌,您可以使用它来调用 WCF。而在 WCF 中,您只需要验证访问令牌是否有效。帖子中的场景更复杂,它将 Azure Active Directory 与本地 Active Directory 集成。 微软还提供了大量示例帮助开发者开始与 Azure Active Directory 集成,您可以参考here 中的这些示例。而对于在 WCF 中手动验证访问令牌,您还可以参考 here。 Xui - 您提供的第二个链接是有效的。谢谢。 很高兴听到它有帮助,如果您在使用 Azure Active Directory 进行开发时仍有问题,请随时告诉我。

以上是关于Azure Active Directory 和 WCF 服务库示例的主要内容,如果未能解决你的问题,请参考以下文章

Active Directory 从浏览器访问 Azure 存储

在本地和 Azure 上使用 Active Directory 进行身份验证

如何从 Azure Active Directory 检索用户信息

Azure-Azure Active Directory(AAD)

Azure Active Directory Safari 重定向问题

text Azure Active Directory身份验证