ASP.Net 核心 React.js 模板 Azure AD 身份验证和授权

ASP.Net Core React.js Template Azure AD Authentication & Authorization

我已经根据这些docs设置了我的Startup.cs

问题是我的 SPA 位于 https://localhost:5000 而我的 API 位于 https://localhost:5000/api。当我访问 SPA URL 时出现一些错误,但是如果我转到 API URL,那么我将被重定向到 https://login.microsoftonline.com/...rest,在那里我可以执行登录.之后,我得到一个 cookie 集,然后我的 SPA 应用程序就可以工作了。

我的问题如下,我怎样才能随意访问SignIn/SignOut功能。从这些 docs 我看到有一个可以访问的帐户控制器。但是我尝试通过“猜测”URL 来导航到它,但我没有成功。

我看到可以通过定义一些 Razor 页面来访问控制器的功能,例如:

<ul class="navbar-nav">
  @if (User.Identity.IsAuthenticated)
  {
    <li class="nav-item">
        <span class="navbar-text text-dark">Hello @User.Identity.Name!</span>
    </li>
    <li class="nav-item">
        <a class="nav-link text-dark" asp-area="MicrosoftIdentity" asp-controller="Account" asp-action="SignOut">Sign out</a>
    </li>
  }
  else
  {
    <li class="nav-item">
        <a class="nav-link text-dark" asp-area="MicrosoftIdentity" asp-controller="Account" asp-action="SignIn">Sign in</a>
    </li>
  }
</ul>

我如何从 React 执行此操作?我不确定我是否遵循了适当的文档。

对于任何登陆这里并像我在这里一样有点困惑的人,我按照文档进行了设置:

  1. https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-web-api
  2. https://github.com/Azure-Samples/ms-identity-javascript-react-tutorial/tree/main/3-Authorization-II/1-call-api(@juunas 提供)

另请阅读评论以了解更多信息。