为什么我的 .Net 6 Web API 返回 401

问题描述 投票:0回答:0

我有一个使用 Web API 的 React UI。实际上,React UI 与 API 控制器存在于同一项目中。只要 API 控制器没有

[Authorize]
属性,一切都会正常工作。

但是,通过

[Authorize]
,我看到 API 返回 http 401 错误。这就是我的问题开始的地方 - 为什么是 401?

我做了以下几件事:

  • 在 Azure AD 应用程序中的 API 权限下,我添加了 3 个权限(Azure.Storage user_impersonation、Microsoft.Graph User.Read 和我的 Web API access_as_user)。

  • 当 UI 向 API 发出请求时,我将添加带有授权持有者令牌的标头。这是截图:

  • 我使用

    PublicClientApplication
    acquireTokenSilent
    方法获取访问令牌

  • 我使用此范围获取访问令牌

注意:在 401 响应中,我看到此消息表明令牌不正确。为什么代币不好?

let scopes: string[] = [`${process.env.REACT_APP_CLIENT_ID}/.default`];
asp.net-core asp.net-web-api http-status-code-401
© www.soinside.com 2019 - 2024. All rights reserved.