在 Active Directory 中,什么是资源?

In Active Directory, what is a resource?

在 AAD node.js 库的示例和测试中,00000002-0000-0000-c000-000000000000 始终作为资源传递。什么是 00000002-0000-0000-c000-000000000000

documentation 只是说一个资源是 "A URI that identifies the resource for which the token is valid." 但 00000002-0000-0000-c000-000000000000 是一个 UUID。什么是资源,这里的值可以是什么?

00000002-0000-0000-c000-000000000000 是一个resourceAppId。添加:如果您已经有一个网络应用程序,点击"Download Manifest",您可以在JSON Manifest 文件中找到resourceAppId。

您可以在Permissions to other applications中找到这些应用程序,如下图,配置您的网络应用程序对其他应用程序的权限,如果选择了资源应用程序,它将显示在清单中。

如果您想了解更多信息,请参考https://azure.microsoft.com/en-us/documentation/articles/active-directory-application-manifest/

只是回答你问题的一部分,00000002-0000-0000-c000-000000000000 是所有租户中 Graph API 的应用程序 ID。如果您在请求 OAuth 2.0 令牌时未传入资源参数,则它默认为此。 资料来源:Azure Active Directory application model

为了回答我问题的另一半,资源是应用程序可以访问的任何类型的实体。在 Azure 中,它们是通过 URI 引用的。示例包括:

  • https://graph.microsoft.com
  • http://localhost:8080
  • https://mydevapp.azurewebsites.net
  • spn:d13730c8-d56f-4d9e-9e1a-9e2afebbca46

00000002-0000-0000-c000-000000000000 只是 URI spn:00000002-0000-0000-c000-000000000000 的缩写形式,如前所述,它是所有租户 API 中图表的应用程序 ID