【问题标题】:MVC5 Server Side Headless Authentication to Azure AD对 Azure AD 的 MVC5 服务器端无头身份验证
【发布时间】:2014-06-17 15:58:44
【问题描述】:
Azure AD 中是否有一种机制可以实现完全无头身份验证?这很可能意味着(在我看来)运行 API 的服务器将与 Azure 建立永久的身份验证会话。
如果目的很重要...我们需要从 AD 公开我们的 thumbnailImage 属性,我只需要这样做,以便服务器不关心谁请求图像。所以基本上我们将拥有https://domain.com/api/Image/userid,api 将返回一个Image 对象(图像/jpeg)。我在内部有这个功能,现在我只是迁移到 Azure。
我找到了this的问题...我只想确认两件事...
-
Daemon or Server Application to Web API 是我应该研究的方法
- 使用此方法将按我预期的方式运行...a.k.a. WebAPI 可以访问该属性并像我目前在内部域中使用它一样使用它。
【问题讨论】:
标签:
c#
asp.net-web-api
active-directory
asp.net-mvc-5
azure-active-directory
【解决方案1】:
的确如此。 Azure AD 支持客户端凭据 OAuth 流。是的,您正在查看正确的帮助主题。对应的示例应用程序在这里:https://github.com/AzureADSamples/Daemon-DotNet。
如果您还没有,请使用 Azure 管理门户将您的 WebAPI 注册为 Azure AD 目录中的应用程序并添加客户端密码(在“应用程序”的“配置”选项卡中名为“密钥”的部分下)。此密钥将用作客户端凭据。
要为您的 WebAPI 配置权限以使用客户端凭据流令牌调用 Graph API,请转到 Azure 门户中的应用程序选项卡,在 Azure AD 下,在标题为“对其他应用程序的权限”的部分中,添加一个“ “Windows Azure Active Directory”到“读取目录数据”的应用程序权限。
您所说的永久身份验证会话基本上是您的 WebAPI 将访问令牌缓存到 Graph,并在当前访问令牌即将到期时获取新的访问令牌(使用客户端凭据流)。
希望这会有所帮助。