我正在构建部署到Azure Webapps的Web应用程序,用户需要在该Web应用程序中登录。为实现此目的,我将{* 3}}利用Azure AD。由于我使用Nancy(使用ASP.NET主机)而不是MVC,我无法遵循官方Azure AD MVC示例,其中所有OAuth处理似乎都在后台神奇地发生。
重定向到OAuth端点非常简单,用户也可以使用授权码正确地重定向回我的应用程序。
现在我需要检索用户ID,以便将其与我的应用程序中的用户数据库相匹配。我这样使用ADAL,因为根据我的理解,这基本上是步骤OAuth 2.0 Authorization Code Grant。
现在让我感到困惑的是,Azure AD不支持此用例,说明
客户' [ClientId]'和资源' [ResouceId]'识别相同的应用程序。
此外,如D & E of the authorization code grant flow所示," ADAL并非用于在网络应用程序中实现网络登录。"
我已经能够通过this answer建议在Azure AD中创建两个应用程序来解决此问题,但感觉我误解了一些问题。这很可能就是这种情况,因为我是OAuth和Azure AD的新手。
所以我的问题是,使用Azure AD从非MVC Web应用程序验证用户的正确方法是什么?
答案 0 :(得分:1)
OWIN中间件也应该与nonASP.NET一起使用。例如,参见http://unlustrously55.rssing.com/browser.php?indx=24287735&item=13 - 在您的情况下,您将必须使用OpenId Connect或ww-federation。