2

我正在开发一个带有 ReactJS 前端和 .NET Core 3.0 后端的 Web 应用程序。为了创建它,我几乎遵循了本教程:https ://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-api-authorization?view=aspnetcore-3.0 。

目前,我将用户存储在 Azure 云中托管的数据库中。在 Startup 类的后端代码的 ConfigureServices() 方法中,我连接到我的数据库,如下所示:

services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

现在,管理层希望进行更改,以便用户不会存储在我们自己的数据库中,而是存储在 Microsoft Identity(以前称为 Azure Active Directory (Azure AD))中。这是因为许多公司已经在那里拥有用户帐户,他们不必创建新用户。

有人能告诉我如何从现在的位置过渡到那个目的地吗?我看到一些教程,我从头开始创建这样的 Web 应用程序,但我觉得我可以只更改我已经拥有的几行代码并进行更改。任何人?

4

1 回答 1

2

我不确定您是否只需要更改几行代码,但根据您的要求,您正在寻找一种方法将 Azure AD 身份验证集成到您的 ReactJS 应用程序中,以调用受 Azure 保护的后端 API 应用程序广告。

有两个步骤:

1.使用 azure 广告保护您的 webapi(服务器)。可以参考这一步(TodoListService)。

2.从您的反应应用程序(客户端)获取访问令牌,然后使用令牌访问webapi。您需要注册客户端 Azure AD 应用程序并添加访问 webapi 应用程序的权限。请参阅此步骤(TodoListClient)。

没有现成的代码示例供您直接使用。但是您可以参考本教程源代码了解如何使用 MSAL 和 React 来调用 Microsoft Graph。

您唯一需要修改的是调用您自己的 API,而不是在此处调用 Microsoft Graph。

于 2020-09-22T01:53:43.957 回答