如何获得令牌的 'user_impersonation' 范围

How to get 'user_impersonation' scope for a token

我通过 Azure 门户在 Azure 活动目录中创建了一个应用程序。 'Request API permission' 'user_impersonation'.

在我使用 msal.js 库的 JS 代码中,我尝试使用此范围请求令牌,但我没有取回任何令牌。

   scopes: ["user_impersonation"]

但是如果我使用

scopes: ["User.Read"]

scopes: [.default]

我得到了一个代币。

我试图重现你的问题,得到与你相同的情况 user_imporsonation 作用域名称可以是任何你因为它是一个自定义作用域,只要你的代码检查你创建的相同作用域名称.

由此得出结论github discussion, there might be still sync issue from MS end. You can raise a GITHUB request for the same or you can reach out to AzureSuport团队也。

scopeApplication ID URI 来自 Expose an API followed by /.default。如果没有 /.default,您将收到如下错误:

尝试使用 OAuth2 permissions scopes with changing the Application manifest 但没有帮助。

要使其正常工作,您要么必须使用 ./default,要么如果要指定特定权限,则必须是 应用程序权限 使其与 Client_Credentials flow.

一起工作

对我来说,我无法为我在 Exposed API 中创建的自定义范围提供 application permission,并且 delegated permission 出现相同的错误。试试你能不能给application permission.