React 应用、.NET Core 3.1 API 的配置以及对 Microsoft Graph 的调用

Configuration of React app, .NET Core 3.1 API, and calls to Microsoft Graph

是否有实现此目标的“最佳”方法?

基本上,我想利用我公司的 Azure AD 租户来构建功能齐全的内部应用程序。使用 Microsoft Graph,我可以通过他们的标识符 guid 检索用户,并将标识符用作我们本地数据库中各种 table 的外键,而不是有一个专用的用户 table,这需要被填充并与 AD 同步。 Graph 还有许多其他潜在用途,但目前优先考虑的是利用用户。

我的应用程序的很大一部分已经构建完成。我可以使用包 react-aad-msal 锁定我的客户端应用程序,要求用户通过单点登录进行身份验证。我还成功将该令牌传递回受保护的 .NET Core API,以经过身份验证的用户身份访问各种端点。

从这里开始,我不确定如何开发对 Microsoft Graph 的调用。我应该在什么时候建立连接?客户端应用程序是否应该同时连接到本地 API 和 Graph?或者它应该只连接到内部部署,然后连接到 Graph?很想知道这两种方法的优缺点。

我还听说微软正在开发他们自己的软件包:@azure/msal-react,并且不应再使用 react-aad-msal(因为它只支持 msal 1.0 而不是 2.0.我不知道哪个版本更适合我的需要)。虽然 msal-react 仍在开发中,但显然我应该使用 @azure/msal-browser。但是我找不到使用 msal-browser 进行身份验证的反应应用程序的好例子。

Here is a Sample关于如何使用 MSAL 和 React 调用 Microsoft Graph。

您的情况唯一不同的是,您将调用自己的 API。

而不是调用 Microsoft Graph

底线是 - 目前还没有用于 React 的直接集成包。这也可以从 msal-js 仓库的官方声明中读到:

After our current libraries are up to standards, we will begin balancing new feature requests, with new platforms such as react and node.js.

您也可以改用.net core。请仔细阅读示例 here,它可以提供帮助。