代码之家  ›  专栏  ›  技术社区  ›  Vijay

ASP的Azure AD身份验证。NET MVC和ASP。NET Web API

  •  0
  • Vijay  · 技术社区  · 7 年前

    我创建了一个三层体系结构作为ASP。NET MVC、ASP Web APP和SQL数据库。

    我想使用Azure AD身份验证。 我已经在Azure中发布了所有应用程序,并使用Azure门户向MVC应用程序和Web API添加了Azure身份验证。 如果我访问Web API,它会要求我登录,并且工作正常。

    但如果我访问Web应用程序,由于身份验证错误,它无法从Web API获取数据。 显然,我需要做一些事情来允许我的Web应用程序将令牌传递给Web API(使用ajax jquery调用API)。 我需要在Web API和Web App中进行的最小代码更改是什么?

    3 回复  |  直到 7 年前
        1
  •  0
  •   Manish    7 年前

    如果您已经有了使用webapi的Azure AD的代码,那么您不需要编写太多代码或进行太多更改,就可以使其与mvc应用程序一起工作。 此处引用: http://www.dotnetcurry.com/windows-azure/1123/secure-aspnet-mvc-azure-using-active-directory-signon

    此外,如果您可以共享一些代码片段,其他人就可以很容易地用更好的猜测回答您的问题:)

        2
  •  0
  •   Bruce Chen    7 年前

    正如juunas评论的那样,您的Web API不需要提供交互式身份验证,它只需要验证令牌。对于您的Web API,您只需要使用中间件 Microsoft.Owin.Security.ActiveDirectory 对于身份验证,您可以遵循以下详细信息 Azure AD .NET Web API getting started

    对于您的ASP。NET MVC项目,您可以使用 Microsoft.Owin.Security.OpenIdConnect 用于身份验证的中间件,您可以遵循的详细信息 Integrate Azure AD into a web application using OpenID Connect

    用于在ASP中调用受Azure AD保护的Web API。NET MVC使用AAD和OpenID连接,您可以按照详细的教程进行操作 Calling a web API in a web app using Azure AD and OpenID Connect

    或者你可以使用内置的 Authentication and authorization in Azure App Service 由Azure应用程序服务提供,用于身份验证和授权。简单地说,您可以为MVC web应用和web API web应用创建一个AAD应用。此外,您可以为MVC和Web API Web应用创建每个AAD应用,并为MVC AAD应用设置访问Web API AAD应用的相关权限,您需要手动设置 resource 在MVC Web应用程序的应用程序服务身份验证配置下,将登录参数设置为Web API aad应用程序的客户端id,详细信息如下 issue

        3
  •  0
  •   Vijay    7 年前

    谢谢大家的帮助。现在对我有用了。

    我遵循以下步骤: 1、使用VS 2017“连接服务”选项为Web App和API生成Azure广告代码。 2、在Web App中添加代码,为Web API获取令牌,如下所示 https://blogs.msdn.microsoft.com/jpsanders/2017/03/17/accessing-azure-app-services-using-azure-ad-bearer-token-2/ 3、在Azure中将两者部署为web应用 4、更新了配置客户端id、客户端机密、资源客户端id等,运行正常。