【发布时间】:2016-07-28 05:10:32
【问题描述】:
我有一个为测试身份验证/授权场景而开发的 Web 表单应用程序。在创建测试项目时,我选择了“无身份验证”,它创建了我的项目以没有身份验证机制代码。我将网站发布到我的天蓝色租户,并从功能下的“身份验证/授权”启用了 Azure Active Directory 身份验证。我创建了一个指向我的 Web 应用程序的 Azure AD 应用程序。点击默认页面后,应用程序现在进行身份验证,一切似乎都正常。
但是,当我在 Visual Studio 中本地运行应用程序时,我无法获取用户信息,因为没有可用的适当标头,例如 X-MS-CLIENT-PRINCIPAL-NAME。我的下一步是调用图形 API 来获取详细的用户信息。
注意:我可以在我的 Web 项目中包含 OWIN 代码来对用户进行身份验证,但我希望对现有的本地 Windows 身份验证应用程序进行最少的代码更改。
任何帮助/指导
【问题讨论】:
-
您是否正在查看应用程序从 Intranet 和 Internet 使用时的单点登录体验?然后你需要看看 azure AD connect。如果是 azure AD,您将使用图形 API 在本地 AD 中进行身份验证和获取用户信息等,您将使用 LDAP。
-
可能不需要单点登录,因为我已经要求我的用户在浏览网站时输入他/她的 AD 登录凭据。我希望通过 Azure AD 对用户进行身份验证。但是,当我从 VS 运行应用程序时,我无法获取 Auth Headers 也无法获取用于调用 Graph API 的声明主体。
-
您只是将应用程序链接到 AAD。默认页面将您带到实时登录页面,然后您从那里继续。通常的做法是在 MVC 应用程序的情况下,在控制器的 [Authorize] 属性中使用图形 API 添加身份验证/授权 ADAL 调用。然后在任何需要的地方使用通过图形 API 获得的用户信息。
-
我的是一个网络表单应用程序。您是否有示例代码显示如何通过身份验证令牌获取用户信息表单图形 api?
-
graph api 与 objectId 一起使用,它是 AAD 中用户的唯一 id。如果 auth token 会有这个,那就不知道了。你需要检查一下。所有类型的应用程序的图形 api 代码都是相同的。
标签: azure authentication azure-web-app-service azure-active-directory