使用客户端凭据流,无需委托同一租户内任何应用程序的访问即可生成访问令牌

With client credential flow, access token getting generated without delegate access from any app within same tenant

我正在设置一个后台进程,它将与受 Azure AD 保护的 API 进行通信。在不授予委托访问 API 的情况下,客户端应用程序能够生成访问令牌

使用客户端凭证流,是否可以在不授予委托权限的情况下为 Web api 生成访问令牌。我能够生成它,但根据它应该不会发生。在我的租户中创建的任何应用程序都可以在没有委托权限的情况下为网络 api 生成令牌。

我在 github 上关注了以下示例。 https://github.com/Azure-Samples/active-directory-dotnet-daemon

如果没有提供委托访问,应该无法生成访问令牌。

这是正常的。如果您使用客户端凭证流,即使您的客户端应用程序没有应用程序权限和委托权限,它也能够生成访问令牌。但是您不能使用此令牌调用 api,因为该令牌没有其声明中的权限。您可以解码 https://jwt.io/ 中的令牌,然后您可以看到如下权限。

更新:

如果要查看委托权限,需要使用ropc流程。检查响应中的scope,它们是委派的权限。