我有一个使用 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`];