【发布时间】:2015-04-23 04:07:55
【问题描述】:
上下文
我正在构建一个部署到用户需要登录的 Azure Webapps 的 Web 应用程序。为此,我将 Azure AD 与OAuth 2.0 Authorization Code Grant 结合使用。由于我使用的是 Nancy(使用 ASP.NET 主机)而不是 MVC,因此我无法遵循官方的 Azure AD MVC 示例,其中所有 OAuth 处理似乎都在后台神奇地发生。
重定向到 OAuth 端点很简单,并且用户也被正确地重定向回我的应用程序并使用授权码。
问题
现在我需要检索用户 ID,以便将其与我的应用程序中的用户数据库相匹配。我正在为此使用 ADAL,因为据我了解,这基本上是步骤D & E of the authorization code grant flow。
现在让我感到困惑的是,Azure AD 不支持这个用例,说明
客户端“[ClientId]”和资源“[ResouceId]”标识同一个应用程序。
另外,正如this answer 所指出的,“ADAL 并不是为了在 Web 应用程序中实现 Web 登录。”
按照this blog 的建议,我已经能够通过在 Azure AD 中创建两个应用程序来解决这个问题,但感觉好像我误解了一些东西。很可能就是这种情况,因为我是 OAuth 和 Azure AD 的新手。
所以我的问题是,使用 Azure AD 从非 MVC Web 应用程序对用户进行身份验证的正确方法是什么?
【问题讨论】:
标签: oauth-2.0 nancy azure-active-directory