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

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

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

    我创建了一个三层体系结构作为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 回复  |  直到 8 年前
        1
  •  0
  •   Manish    8 年前

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

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

        2
  •  0
  •   Bruce Chen    8 年前

    正如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    8 年前

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

    我遵循以下步骤: 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等,运行正常。

    推荐文章