首页 > 解决方案 > 通过应用服务托管在 React 前端和 .net 5 后端 Web 应用中进行 Azure AD 身份验证

问题描述

我一直在做一个需要 Azure AD 身份验证的项目。我的问题是我是新手。在配置我的应用服务后,创建一个连接到公司 Azure AD 的 Azure AD 应用程序。我可以毫无问题地使用连接到 Azure AD 的公司的 Microsoft 帐户登录并使用我的应用程序。尽管仅在隐身模式或删除 cookie 后。因为当我的浏览器识别出我已经登录时,我会直接进入我的应用程序的前端部分。虽然在尝试从 web api 获取数据时,我没有得到任何数据作为回报。在隐身模式或清理 cookie 的情况下,我会被重定向到公司的微软登录页面和弹出窗口,然后再重定向到我的应用程序。然后我可以从 web api 获取数据。

我正在使用 react 和 .net 5(最新版本的 asp.net core https://docs.microsoft.com/en-us/dotnet/core/dotnet-5)进行编程。在将整个代码(MVC)发布到我的应用服务之前,我从这个模板“dotnet new react -o”输出文件夹开始。模块 .Net 核心、查看 React 和控制器 .Net 核心。

在我的 Azure AD 应用程序中,我设置了一个 Web 重定向 URL,而不是 SPA,但似乎无关紧要。当我在我的应用服务中配置了通过 Active Directory 登录的需要时。

如何让我的 web api 识别我已经登录,就像我在隐身登录时识别的那样?

Web 地址的控制台:已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

获取https://login.windows.net/"url-adress"/oauth2/authorize?response_type=id_token&redirect....的阻塞请求。

编辑:在进一步调查该问题时,似乎是从不同的 Active Directory 登录到多个 Microsoft 帐户的问题。尝试从我的后端获取的用户不是连接到我的应用服务的 Active Directory 的一部分。有谁知道解决多个帐户问题的好方法?或者还有什么我应该调查的?

标签: reactjsazureasp.net-coreazure-active-directoryazure-web-app-service

解决方案


推荐阅读