首页 > 解决方案 > Azure AAD 应用程序 ObjectId 和 ApplicationId 有什么区别?

问题描述

AzureAAD App ObjectId 和 ApplicationId 有什么区别,两者都暴露给用户是否有特定原因?是否存在绝对需要 ObjectId 而不是 ApplicationId 的用例?

标签: azureazure-active-directory

解决方案


Azure AD 中的应用注册会生成一个Application对象。Azure AD 中的所有对象都有一个对象 ID。当您发出 API 请求来处理特定的应用程序对象时,您将使用对象 ID:

GET https://graph.windows.net/{tenant-id}/applications/{object-id}?api-version=1.6

应用程序对象的对象 ID 仅与注册应用程序的同一租户相关,并且仅用于标识该对象。

应用程序对象的appId属性用于跨租户和多个对象类型。有两个主要用途:

  1. 在各种登录和令牌流中识别应用程序(例如client_id在 OAuth 2.0 和 OpenID Connect 中)。
  2. 唯一标识ServicePrincipal对象的后备应用程序对象。(将ServicePrincipal对象视为给定 Azure AD 租户中应用程序的“实例”。)

推荐阅读