首页 > 解决方案 > 如何使用 MSAL acquireTokenSilent 获取自定义 API 的访问令牌?

问题描述

我能够获得 Graph API 的有效访问令牌,因为有大量的示例/文档/教程。

但是,我无法为我的自定义 API 获取有效的访问令牌。我使用的范围看起来像这样:

"api://<GUID VALUE>/user_impersonation"

使用此范围,我可以获得访问令牌。不幸的是,它无效。随后,当我尝试在自定义 API 上调用某些内容时,我收到了未经授权的 401 错误。

甚至可以使用 MSAL acquireTokenSilent在自定义 API 上请求访问令牌吗?

标签: reactjsazure-active-directorymsalmsal.jsacquiretokensilent

解决方案


在我看来,如果访问令牌已成功生成,我们可以在线对其进行解码,并且如果scp声明确实包含特定的 api 权限(scp用于委托 api 权限,而roles用于应用程序权限),则始终后端 api 存在身份验证问题,但是不是令牌是错误的。

如果您的后端是用 asp.net 核心编写的,您可以参考我的这个答案,对于 java 或 springboot 后端,这个答案可能会有所帮助。


推荐阅读