Манифест приложения Azure Active DirectoryAzure Active Directory app manifest

Манифест приложения содержит определения всех атрибутов для объекта приложения на платформе удостоверений Майкрософт.The application manifest contains a definition of all the attributes of an application object in the Microsoft identity platform. Также он служит механизмом для обновления объекта приложения.It also serves as a mechanism for updating the application object. Дополнительные сведения см. в разделе, посвященном сущности "Приложение" и ее схеме (в документации по сущности "Приложение API Graph").For more info on the Application entity and its schema, see the Graph API Application entity documentation.

Вы можете настроить атрибуты приложения через портал Azure или программным способом с помощью REST API или PowerShell.You can configure an app's attributes through the Azure portal or programmatically using REST API or PowerShell. Но в некоторых сценариях манифест приложения придется редактировать напрямую, чтобы настроить атрибут приложения.However, there are some scenarios where you'll need to edit the app manifest to configure an app's attribute. Ниже приведены соответствующие сценарии.These scenarios include:

  • Если вы зарегистрировали приложение c мультитенантной учетной записью AAD и личной учетной записью Майкрософт, вы не сможете изменить в пользовательском интерфейсе поддерживаемые учетные записи Майкрософт.If you registered the app as Azure AD multi-tenant and personal Microsoft accounts, you can't change the supported Microsoft accounts in the UI. Вместо этого для изменения типа поддерживаемых учетных записей придется использовать редактор манифеста приложения.Instead, you must use the application manifest editor to change the supported account type.
  • Если вам нужно определить разрешения и роли, которые поддерживает приложение, необходимо изменить манифест приложения.If you need to define permissions and roles that your app supports, you must modify the application manifest.

Настройка манифеста приложенияConfigure the app manifest

Чтобы настроить манифест приложения, выполните следующее.To configure the application manifest:

  1. Перейдите на портал Azure.Go to the Azure portal. Найдите и выберите службу Azure Active Directory.Search for and select the Azure Active Directory service.
  2. Щелкните Регистрация приложений.Select App registrations.
  3. Выберите приложение, которое вам нужно настроить.Select the app you want to configure.
  4. На странице Обзор выберите раздел Манифест.From the app's Overview page, select the Manifest section. Откроется веб-редактор манифеста, который позволяет изменить манифест, не покидая портал.A web-based manifest editor opens, allowing you to edit the manifest within the portal. Также здесь можно выбрать команду Скачать, чтобы изменить манифест локально и применить к приложению обновленную версию с помощью команды Отправить.Optionally, you can select Download to edit the manifest locally, and then use Upload to reapply it to your application.

Справка по манифестуManifest reference

В этом разделе описываются атрибуты в манифесте приложения.This section describes the attributes found in the application manifest.

Атрибут идентификатораid attribute

КлавишиKey Тип значенияValue type
идентификаторid СтрокаString

Уникальный идентификатор для приложения в каталоге.The unique identifier for the app in the directory. Это не тот идентификатор, который используется для идентификации приложения в транзакциях протоколов.This ID is not the identifier used to identify the app in any protocol transaction. Он используется для ссылки на объект в запросах к каталогу.It's used for the referencing the object in directory queries.

ПримерExample:

    "id": "f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd",

Атрибут accessTokenAcceptedVersionaccessTokenAcceptedVersion attribute

КлавишиKey Тип значенияValue type
accessTokenAcceptedVersionaccessTokenAcceptedVersion Int32, допускающий значение NULLNullable Int32

Указывает версию маркера доступа, ожидаемую ресурсом.Specifies the access token version expected by the resource. Этот параметр меняет версию и формат JWT, созданного независимо от конечной точки или клиента, используемых для запроса маркера доступа.This parameter changes the version and format of the JWT produced independent of the endpoint or client used to request the access token.

Используемая конечная точка версии 1.0 или 2.0 выбирается клиентом и влияет только на версию id_tokens.The endpoint used, v1.0 or v2.0, is chosen by the client and only impacts the version of id_tokens. В ресурсах необходимо явным образом настраивать accesstokenAcceptedVersion для указания поддерживаемого формата маркера доступа.Resources need to explicitly configure accesstokenAcceptedVersion to indicate the supported access token format.

Возможные значения для accesstokenAcceptedVersion: 1, 2 или null.Possible values for accesstokenAcceptedVersion are 1, 2, or null. Если значение равно NULL, по умолчанию используется значение 1, соответствующее конечной точке версии 1.0.If the value is null, this parameter defaults to 1, which corresponds to the v1.0 endpoint.

Если signInAudience — AzureADandPersonalMicrosoftAccount, значением должно быть 2.If signInAudience is AzureADandPersonalMicrosoftAccount, the value must be 2.

ПримерExample:

    "accessTokenAcceptedVersion": 2,

Атрибут addInsaddIns attribute

КлавишиKey Тип значенияValue type
addInsaddIns КоллекцияCollection

Определяет пользовательское поведение, которое может использоваться службой для вызова приложения в конкретных контекстах.Defines custom behavior that a consuming service can use to call an app in specific contexts. Например, приложения, которые могут визуализировать файловые потоки, могут задавать свойство addIns для функции "FileHandler".For example, applications that can render file streams may set the addIns property for its "FileHandler" functionality. Этот параметр позволяет службам, таким как Microsoft 365 вызывать приложение в контексте документа, над которым работает пользователь.This parameter will let services like Microsoft 365 call the application in the context of a document the user is working on.

ПримерExample:

    "addIns": [
       {
        "id": "968A844F-7A47-430C-9163-07AE7C31D407",
        "type":" FileHandler",
        "properties": [
           {
              "key": "version",
              "value": "2"
           }
        ]
       }
    ],

Атрибут allowPublicClientallowPublicClient attribute

КлавишиKey Тип значенияValue type
allowPublicClientallowPublicClient ЛогическоеBoolean

Указывает тип возврата приложения.Specifies the fallback application type. Azure AD по умолчанию задает тип приложения из replyUrlsWithType.Azure AD infers the application type from the replyUrlsWithType by default. В некоторых сценариях Azure AD не удается определить тип клиентского приложения.There are certain scenarios where Azure AD can't determine the client app type. Например, одним из таких сценариев является поток ROPC, где HTTP-запрос происходит без перенаправления URL-адреса.For example, one such scenario is the ROPC flow where HTTP request happens without a URL redirection). В таких случаях Azure AD будет интерпретировать тип приложения на основе значения этого свойства.In those cases, Azure AD will interpret the application type based on the value of this property. Если для этого значения установлено значение true, тип резервного приложения устанавливается как общедоступный клиент, например, установленное приложение, работающее на мобильном устройстве.If this value is set to true the fallback application type is set as public client, such as an installed app running on a mobile device. Значение по умолчанию — false. Это значит, что тип возврата приложения является закрытым клиентом, таким как веб-приложение.The default value is false which means the fallback application type is confidential client such as web app.

ПримерExample:

    "allowPublicClient": false,

Атрибут availableToOtherTenantsavailableToOtherTenants attribute

КлавишиKey Тип значенияValue type
AvailableToOtherTenantsavailableToOtherTenants ЛогическоеBoolean

Задайте значение true, если приложение совместно используется с другими клиентами, в противном случае — false.Set to true if the application is shared with other tenants; otherwise, false.

Примечание

Этот атрибут доступен только в интерфейсе Регистрация приложений (прежних версий) .This attribute is available only in the App registrations (Legacy) experience. Заменяется на signInAudience в интерфейсе Регистрация приложений.Replaced by signInAudience in the App registrations experience.

Атрибут appIdappId attribute

КлавишиKey Тип значенияValue type
appIdappId СтрокаString

Указывает уникальный идентификатор приложения, который назначается приложению в Azure AD.Specifies the unique identifier for the app that is assigned to an app by Azure AD.

ПримерExample:

    "appId": "601790de-b632-4f57-9523-ee7cb6ceba95",

Атрибут appRolesappRoles attribute

КлавишиKey Тип значенияValue type
appRolesappRoles КоллекцияCollection

Указывает коллекцию ролей, которые может объявить приложение.Specifies the collection of roles that an app may declare. Эти роли могут назначаться пользователям, группам или субъектам-службам.These roles can be assigned to users, groups, or service principals. Ознакомьтесь с дополнительными сведениями и примерами в статье Добавление ролей приложения в приложение и их получение в токене.For more examples and info, see Add app roles in your application and receive them in the token.

ПримерExample:

    "appRoles": [
        {
           "allowedMemberTypes": [
               "User"
           ],
           "description": "Read-only access to device information",
           "displayName": "Read Only",
           "id": "601790de-b632-4f57-9523-ee7cb6ceba95",
           "isEnabled": true,
           "value": "ReadOnly"
        }
    ],

Атрибут displayNamedisplayName attribute

КлавишиKey Тип значенияValue type
displayNamedisplayName СтрокаString

Отображаемое имя приложения.The display name for the app.

Примечание

Этот атрибут доступен только в интерфейсе Регистрация приложений (прежних версий) .This attribute is available only in the App registrations (Legacy) experience. Заменяется на name в интерфейсе Регистрация приложений.Replaced by name in the App registrations experience.

Атрибут errorUrlerrorUrl attribute

КлавишиKey Тип значенияValue type
errorUrlerrorUrl СтрокаString

Не поддерживается.Unsupported.

Атрибут groupMembershipClaimsgroupMembershipClaims attribute

КлавишиKey Тип значенияValue type
groupMembershipClaimsgroupMembershipClaims СтрокаString

Настраивает утверждение groups, выданное в маркере пользователя или маркере доступа OAuth 2.0, которого ожидает приложение.Configures the groups claim issued in a user or OAuth 2.0 access token that the app expects. Чтобы задать этот атрибут, используйте одно из следующих допустимых строковых значений.To set this attribute, use one of the following valid string values:

  • "None"
  • "SecurityGroup" (группы безопасности и роли Azure AD)"SecurityGroup" (for security groups and Azure AD roles)
  • "All" (это предоставит все группы безопасности, группы рассылки и роли каталога Azure AD, членом которых является выполнивший вход пользователь)."All" (this will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of.

ПримерExample:

    "groupMembershipClaims": "SecurityGroup",

Атрибут homepagehomepage attribute

КлавишиKey Тип значенияValue type
homepagehomepage СтрокаString

URL-адрес домашней страницы приложения.The URL to the application's homepage.

Примечание

Этот атрибут доступен только в интерфейсе Регистрация приложений (прежних версий) .This attribute is available only in the App registrations (Legacy) experience. Заменяется на signInUrl в интерфейсе Регистрация приложений.Replaced by signInUrl in the App registrations experience.

Атрибут objectIdobjectId attribute

КлавишиKey Тип значенияValue type
objectIdobjectId СтрокаString

Уникальный идентификатор для приложения в каталоге.The unique identifier for the app in the directory.

Этот атрибут доступен только в интерфейсе Регистрация приложений (прежних версий) .This is available only in the App registrations (Legacy) experience. Заменяется на id в интерфейсе Регистрация приложений.Replaced by id in the App registrations experience.

ПримерExample:

    "objectId": "f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd",

Атрибут optionalClaimsoptionalClaims attribute

КлавишиKey Тип значенияValue type
optionalClaimsoptionalClaims СтрокаString

Необязательные утверждения, возвращаемые в маркере службой токенов безопасности для этого конкретного приложения.The optional claims returned in the token by the security token service for this specific app.

На данный момент в приложениях, в которых поддерживаются как личные учетные записи, так и Azure AD (зарегистрированный с помощью портала регистрации приложений), невозможно использовать необязательные утверждения.At this time, apps that support both personal accounts and Azure AD (registered through the app registration portal) cannot use optional claims. Тем не менее приложения, которые были зарегистрированы, только чтобы использовать Azure AD и конечную точку версии 2.0, могут получить необязательные утверждения, запрашиваемые в манифесте.However, apps registered for just Azure AD using the v2.0 endpoint can get the optional claims they requested in the manifest. Дополнительные сведения см. в статье Необязательные утверждения.For more info, see Optional claims.

ПримерExample:

    "optionalClaims": null,

Атрибут identifierUrisidentifierUris attribute

КлавишиKey Тип значенияValue type
identifierUrisidentifierUris Массив строкString Array

Определяемые пользователем URI, которые уникальным образом идентифицируют веб-приложение в клиенте Azure AD или в проверенном личном домене, если приложение является мультитенантным.User-defined URI(s) that uniquely identify a Web app within its Azure AD tenant, or within a verified custom domain if the app is multi-tenant.

ПримерExample:

    "identifierUris": "https://MyRegisteredApp",

Атрибут informationalUrlsinformationalUrls attribute

КлавишиKey Тип значенияValue type
informationalUrlsinformationalUrls СтрокаString

Указывает ссылки на условия предоставления услуг и заявление о конфиденциальности приложения.Specifies the links to the app's terms of service and privacy statement. Условия обслуживания и заявление о конфиденциальности отображаются в окне запроса согласия пользователя.The terms of service and privacy statement are surfaced to users through the user consent experience. Дополнительные сведения см. в разделе Практическое руководство. Добавление условий обслуживания и заявления о конфиденциальности для зарегистрированных приложений Azure AD.For more info, see How to: Add Terms of service and privacy statement for registered Azure AD apps.

ПримерExample:

    "informationalUrls": {
        "termsOfService": "https://MyRegisteredApp/termsofservice",
        "support": "https://MyRegisteredApp/support",
        "privacy": "https://MyRegisteredApp/privacystatement",
        "marketing": "https://MyRegisteredApp/marketing"
    },

Атрибут keyCredentialskeyCredentials attribute

КлавишиKey Тип значенияValue type
keyCredentialskeyCredentials КоллекцияCollection

Содержит ссылки на учетные данные, назначенные приложению, строковые общие секреты и сертификаты X.509.Holds references to app-assigned credentials, string-based shared secrets and X.509 certificates. Эти учетные данные используются при запросе маркеров доступа (когда приложение работает в качестве клиента, а не ресурса).These credentials are used when requesting access tokens (when the app is acting as a client rather that as a resource).

ПримерExample:

    "keyCredentials": [
        {
           "customKeyIdentifier":null,
           "endDate":"2018-09-13T00:00:00Z",
           "keyId":"<guid>",
           "startDate":"2017-09-12T00:00:00Z",
           "type":"AsymmetricX509Cert",
           "usage":"Verify",
           "value":null
        }
    ],

Атрибут knownClientApplicationsknownClientApplications attribute

КлавишиKey Тип значенияValue type
knownClientApplicationsknownClientApplications Массив строкString Array

Используется для объединения согласия, если у вас есть решение, которое содержит две части: клиентское приложение и пользовательское приложение веб-API.Used for bundling consent if you have a solution that contains two parts: a client app and a custom web API app. Если в это значение ввести appID клиентского приложения, пользователю нужно будет только единожды предоставить согласие на использование клиентского приложения.If you enter the appID of the client app into this value, the user will only have to consent once to the client app. Azure AD будет знать, что согласие на клиент означает неявное согласие на веб-API.Azure AD will know that consenting to the client means implicitly consenting to the web API. Он автоматически подготовит субъекты-службы для клиента и веб-API одновременно.It will automatically provision service principals for both the client and web API at the same time. И клиентское приложение, и веб-API должны быть зарегистрированы в одном и том же клиенте.Both the client and the web API app must be registered in the same tenant.

ПримерExample:

    "knownClientApplications": ["f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd"],

Атрибут logoUrllogoUrl attribute

КлавишиKey Тип значенияValue type
logoUrllogoUrl СтрокаString

Значение "Только для чтения", указывает на URL-адрес CDN логотипа, который был загружен на портале.Read only value that points to the CDN URL to logo that was uploaded in the portal.

ПримерExample:

    "logoUrl": "https://MyRegisteredAppLogo",

Атрибут logoutUrllogoutUrl attribute

КлавишиKey Тип значенияValue type
logoutUrllogoutUrl СтрокаString

URL-адрес для выхода из приложения.The URL to log out of the app.

ПримерExample:

    "logoutUrl": "https://MyRegisteredAppLogout",

Атрибут namename attribute

КлавишиKey Тип значенияValue type
namename СтрокаString

Отображаемое имя приложения.The display name for the app.

ПримерExample:

    "name": "MyRegisteredApp",

Атрибут oauth2AllowImplicitFlowoauth2AllowImplicitFlow attribute

КлавишиKey Тип значенияValue type
oauth2AllowImplicitFlowoauth2AllowImplicitFlow ЛогическоеBoolean

Определяет, может ли это веб-приложение запрашивать маркеры доступа неявного потока OAuth 2.0.Specifies whether this web app can request OAuth2.0 implicit flow access tokens. Значение по умолчанию — false.The default is false. Этот флаг используется для браузерных приложений, таких как одностраничные приложения JavaScript.This flag is used for browser-based apps, like JavaScript single-page apps. Чтобы получить дополнительные сведения, введите OAuth 2.0 implicit grant flow в поле над содержанием и просмотрите статьи о неявном потоке.To learn more, enter OAuth 2.0 implicit grant flow in the table of contents and see the topics about implicit flow.

ПримерExample:

    "oauth2AllowImplicitFlow": false,

Атрибут oauth2AllowIdTokenImplicitFlowoauth2AllowIdTokenImplicitFlow attribute

КлавишиKey Тип значенияValue type
oauth2AllowIdTokenImplicitFlowoauth2AllowIdTokenImplicitFlow ЛогическоеBoolean

Определяет, может ли это веб-приложение запрашивать маркеры идентификатора неявного потока OAuth 2.0.Specifies whether this web app can request OAuth2.0 implicit flow ID tokens. Значение по умолчанию — false.The default is false. Этот флаг используется для браузерных приложений, таких как одностраничные приложения JavaScript.This flag is used for browser-based apps, like JavaScript single-page apps.

ПримерExample:

    "oauth2AllowIdTokenImplicitFlow": false,

Атрибут oauth2Permissionsoauth2Permissions attribute

КлавишиKey Тип значенияValue type
oauth2Permissionsoauth2Permissions КоллекцияCollection

Указывает коллекцию областей разрешений доступа OAuth 2.0, которые веб-API (ресурс) предоставляет клиентским приложениям.Specifies the collection of OAuth 2.0 permission scopes that the web API (resource) app exposes to client apps. Эти области действия разрешений могут быть назначены клиентским приложениям во время предоставления согласия.These permission scopes may be granted to client apps during consent.

ПримерExample:

    "oauth2Permissions": [
       {
          "adminConsentDescription": "Allow the app to access resources on behalf of the signed-in user.",
          "adminConsentDisplayName": "Access resource1",
          "id": "<guid>",
          "isEnabled": true,
          "type": "User",
          "userConsentDescription": "Allow the app to access resource1 on your behalf.",
          "userConsentDisplayName": "Access resources",
          "value": "user_impersonation"
        }
    ],

Атрибут oauth2RequiredPostResponseoauth2RequiredPostResponse attribute

КлавишиKey Тип значенияValue type
oauth2RequiredPostResponseoauth2RequiredPostResponse ЛогическоеBoolean

Указывает, будет ли Azure AD в рамках запросов маркеров OAuth 2.0 разрешать запросы POST в отличие от запросов GET.Specifies whether, as part of OAuth 2.0 token requests, Azure AD will allow POST requests, as opposed to GET requests. Значение по умолчанию — false. В таком случае будут разрешены только запросы GET.The default is false, which specifies that only GET requests will be allowed.

ПримерExample:

    "oauth2RequirePostResponse": false,

Атрибут parentalControlSettingsparentalControlSettings attribute

КлавишиKey Тип значенияValue type
parentalControlSettingsparentalControlSettings СтрокаString
  • countriesBlockedForMinors указывает страны или регионы, в которых приложение заблокировано для несовершеннолетних.countriesBlockedForMinors specifies the countries/regions in which the app is blocked for minors.
  • legalAgeGroupRule определяет правило возрастной группы, применяемое к пользователям приложения.legalAgeGroupRule specifies the legal age group rule that applies to users of the app. Можно установить Allow, RequireConsentForPrivacyServices, RequireConsentForMinors, RequireConsentForKids или BlockMinors.Can be set to Allow, RequireConsentForPrivacyServices, RequireConsentForMinors, RequireConsentForKids, or BlockMinors.

ПримерExample:

    "parentalControlSettings": {
        "countriesBlockedForMinors": [],
        "legalAgeGroupRule": "Allow"
    },

Атрибут passwordCredentialspasswordCredentials attribute

КлавишиKey Тип значенияValue type
passwordCredentialspasswordCredentials КоллекцияCollection

См. описание свойства keyCredentials.See the description for the keyCredentials property.

ПримерExample:

    "passwordCredentials": [
      {
        "customKeyIdentifier": null,
        "endDate": "2018-10-19T17:59:59.6521653Z",
        "keyId": "<guid>",
        "startDate":"2016-10-19T17:59:59.6521653Z",
        "value":null
      }
    ],

Атрибут preAuthorizedApplicationspreAuthorizedApplications attribute

КлавишиKey Тип значенияValue type
preAuthorizedApplicationspreAuthorizedApplications КоллекцияCollection

Список приложений и запрашиваемых разрешений для косвенного согласия.Lists applications and requested permissions for implicit consent. Требуется, чтобы администратор предоставил согласие для приложения.Requires an admin to have provided consent to the application. preAuthorizedApplications не требуют согласия пользователя на запрашиваемые разрешения.preAuthorizedApplications do not require the user to consent to the requested permissions. Разрешения, перечисленные в preAuthorizedApplications, не требуют согласия пользователя.Permissions listed in preAuthorizedApplications do not require user consent. Тем не менее любые дополнительные запрашиваемые разрешения, не указанные в preAuthorizedApplications, требуют согласия пользователя.However, any additional requested permissions not listed in preAuthorizedApplications require user consent.

ПримерExample:

    "preAuthorizedApplications": [
       {
          "appId": "abcdefg2-000a-1111-a0e5-812ed8dd72e8",
          "permissionIds": [
             "8748f7db-21fe-4c83-8ab5-53033933c8f1"
            ]
        }
    ],

Атрибут publicClientpublicClient attribute

КлавишиKey Тип значенияValue type
publicClientpublicClient ЛогическоеBoolean

Указывает, является ли это приложение общедоступным клиентом (например, установленным приложением, которое работает на мобильном устройстве).Specifies whether this application is a public client (such as an installed application running on a mobile device).

Это свойство доступно только в интерфейсе Регистрация приложений (прежних версий) .This property is available only in the App registrations (Legacy) experience. Заменяется на allowPublicClient в интерфейсе Регистрация приложений.Replaced by allowPublicClient in the App registrations experience.

Атрибут publisherDomainpublisherDomain attribute

КлавишиKey Тип значенияValue type
publisherDomainpublisherDomain СтрокаString

Домен проверенного издателя для приложения.The verified publisher domain for the application. Только для чтения.Read-only.

ПримерExample:

    "publisherDomain": "https://www.contoso.com",

Атрибут replyUrlsreplyUrls attribute

КлавишиKey Тип значенияValue type
replyUrlsreplyUrls Массив строкString array

Это свойство с несколькими значениями хранит список зарегистрированных значений redirect_uri, которые Azure AD будет принимать в качестве назначений при возвращении маркеров.This multi-value property holds the list of registered redirect_uri values that Azure AD will accept as destinations when returning tokens.

Это свойство доступно только в интерфейсе Регистрация приложений (прежних версий) .This property is available only in the App registrations (Legacy) experience. Заменяется на replyUrlsWithType в интерфейсе Регистрация приложений.Replaced by replyUrlsWithType in the App registrations experience.

Атрибут replyUrlsWithTypereplyUrlsWithType attribute

КлавишиKey Тип значенияValue type
replyUrlsWithTypereplyUrlsWithType КоллекцияCollection

Это свойство с несколькими значениями хранит список зарегистрированных значений redirect_uri, которые Azure AD будет принимать в качестве назначений при возвращении маркеров.This multi-value property holds the list of registered redirect_uri values that Azure AD will accept as destinations when returning tokens. Каждое значение URI должно содержать значение типа связанного приложения.Each URI value should contain an associated app type value. Поддерживаемые значения:Supported type values are:

  • Web
  • InstalledClient
  • Spa

Дополнительные сведения см. в разделе Ограничения replyUrl.To learn more, see replyUrl restrictions and limitations.

ПримерExample:

    "replyUrlsWithType": [
       {
          "url": "https://localhost:4400/services/office365/redirectTarget.html",
          "type": "InstalledClient"
       }
    ],

Атрибут requiredResourceAccessrequiredResourceAccess attribute

КлавишиKey Тип значенияValue type
requiredResourceAccessrequiredResourceAccess КоллекцияCollection

При динамическом согласии requiredResourceAccess обеспечивает процедуру использования согласия администратора и согласия пользователя для пользователей, которые используют статическое согласие.With dynamic consent, requiredResourceAccess drives the admin consent experience and the user consent experience for users who are using static consent. Однако этот параметр не предоставляет процедуру использования согласия пользователя для общего случая.However, this parameter doesn't drive the user consent experience for the general case.

  • resourceAppId — уникальный идентификатор для ресурса, доступ к которому нужен приложению.resourceAppId is the unique identifier for the resource that the app requires access to. Это значение должно соответствовать appId, который был объявлен в целевом приложении ресурса.This value should be equal to the appId declared on the target resource app.
  • resourceAccess — массив, в котором перечислены области разрешений OAuth 2.0 и роли приложений, которые требуются приложению из указанного ресурса.resourceAccess is an array that lists the OAuth2.0 permission scopes and app roles that the app requires from the specified resource. Содержит значения id и type указанных ресурсов.Contains the id and type values of the specified resources.

ПримерExample:

    "requiredResourceAccess": [
        {
            "resourceAppId": "00000002-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
                    "type": "Scope"
                }
            ]
        }
    ],

Атрибут samlMetadataUrlsamlMetadataUrl attribute

КлавишиKey Тип значенияValue type
samlMetadataUrlsamlMetadataUrl СтрокаString

URL-адрес метаданных SAML для приложения.The URL to the SAML metadata for the app.

ПримерExample:

    "samlMetadataUrl": "https://MyRegisteredAppSAMLMetadata",

Атрибут signInUrlsignInUrl attribute

КлавишиKey Тип значенияValue type
signInUrlsignInUrl СтрокаString

Указывает URL-адрес домашней страницы приложения.Specifies the URL to the app's home page.

ПримерExample:

    "signInUrl": "https://MyRegisteredApp",

Атрибут signInAudiencesignInAudience attribute

КлавишиKey Тип значенияValue type
signInAudiencesignInAudience СтрокаString

Указывает, какие учетные записи Майкрософт поддерживаются для текущего приложения.Specifies what Microsoft accounts are supported for the current application. Поддерживаются значения:Supported values are:

  • AzureADMyOrg. Пользователи с учетной записью Майкрософт или учебной учетной записью в клиенте организации Azure AD (т. е. единственный клиент).AzureADMyOrg - Users with a Microsoft work or school account in my organization's Azure AD tenant (for example, single tenant)
  • AzureADMultipleOrgs. Пользователи с учетной записью Майкрософт или учебной учетной записью в клиенте любой организации Azure AD (т. е. множество клиентов).AzureADMultipleOrgs - Users with a Microsoft work or school account in any organization's Azure AD tenant (for example, multi-tenant)
  • AzureADandPersonalMicrosoftAccount. Пользователи с личной учетной записью Майкрософт, рабочей или учебной учетной записью в клиенте Azure AD любой организации.AzureADandPersonalMicrosoftAccount - Users with a personal Microsoft account, or a work or school account in any organization's Azure AD tenant
  • PersonalMicrosoftAccount. Личные учетные записи, которые используются для входа в службы, такие как Xbox и Skype.PersonalMicrosoftAccount - Personal accounts that are used to sign in to services like Xbox and Skype.

ПримерExample:

    "signInAudience": "AzureADandPersonalMicrosoftAccount",

Атрибут tagstags attribute

КлавишиKey Тип значенияValue type
tagstags Массив строкString Array

Пользовательские строки, которые могут использоваться для классификации и идентификации приложения.Custom strings that can be used to categorize and identify the application.

ПримерExample:

    "tags": [
       "ProductionApp"
    ],

Распространенные проблемыCommon issues

Ограничения манифестаManifest limits

Манифест приложения имеет несколько атрибутов, которые называются коллекциями; например, appRoles, keyCredentials, knownClientApplications, identifierUris, redirectUris, requiredResourceAccess и oauth2Permissions.An application manifest has multiple attributes that are referred to as collections; for example, appRoles, keyCredentials, knownClientApplications, identifierUris, redirectUris, requiredResourceAccess, and oauth2Permissions. В полном манифесте приложения для любого приложения общее число записей во всех коллекциях вместе не может составлять более 1200.Within the complete application manifest for any application, the total number of entries in all the collections combined has been capped at 1200. Если ранее в манифесте приложения вы указали 100 URI перенаправления, то у вас остается только 1100 записей для использования во всех остальных коллекциях, составляющих манифест.If you previously specify 100 redirect URIs in the application manifest, then you're only left with 1100 remaining entries to use across all other collections combined that make up the manifest.

Примечание

Если вы попытаетесь добавить более 1200 записей в манифест приложения, может появиться сообщение об ошибке "Не удалось обновить приложение XXXXXX. Сведения об ошибке: Размер манифеста превысил установленный предел. Сократите количество значений и повторите запрос".In case you try to add more than 1200 entries in the application manifest, you may see an error "Failed to update application xxxxxx. Error details: The size of the manifest has exceeded its limit. Please reduce the number of values and retry your request."

Неподдерживаемые атрибутыUnsupported attributes

Манифест приложения представляет схему базовой модели приложения в Azure AD.The application manifest represents the schema of the underlying application model in Azure AD. По мере развития базовой схемы редактор манифеста будет обновляться в соответствии с новой схемой.As the underlying schema evolves, the manifest editor will be updated to reflect the new schema from time to time. В результате вы заметите новые атрибуты в манифесте приложения.As a result, you may notice new attributes showing up in the application manifest. В редких случаях вы можете заметить синтаксические или семантические изменения существующих атрибутов или атрибут, который существовал ранее, но больше не поддерживается.In rare occasions, you may notice a syntactic or semantic change in the existing attributes or you may find an attribute that existed previously are not supported anymore. Например, вы увидите новые атрибуты в интерфейсе Регистрация приложений, которые назывались иначе в интерфейсе "Регистрация приложений (прежних версий)".For example, you will see new attributes in the App registrations, which are known with a different name in the App registrations (Legacy) experience.

Регистрация приложений (прежних версий)App registrations (Legacy) Регистрация приложенийApp registrations
availableToOtherTenants signInAudience
displayName name
errorUrl -
homepage signInUrl
objectId Id
publicClient allowPublicClient
replyUrls replyUrlsWithType

Описание этих атрибутов см. в справочнике по манифесту.For descriptions for these attributes, see the manifest reference section.

При попытке передать ранее скачанный манифест может появиться одна из следующих ошибок.When you try to upload a previously downloaded manifest, you may see one of the following errors. Эта ошибка может быть вызвана тем, что редактор манифестов теперь поддерживает более новую версию схемы, которая не соответствует той, которую вы пытаетесь передать.This error is likely because the manifest editor now supports a newer version of the schema, which doesn't match with the one you're trying to upload.

  • "Не удалось обновить приложение xxxxxx."Failed to update xxxxxx application. Сведения об ошибке: Недопустимый идентификатор объекта undefined.Error detail: Invalid object identifier 'undefined'. []."[]."
  • "Не удалось обновить приложение xxxxxx."Failed to update xxxxxx application. Сведения об ошибке: Одно или несколько указанных значений свойств недопустимы.Error detail: One or more property values specified are invalid. []."[]."
  • "Не удалось обновить приложение xxxxxx."Failed to update xxxxxx application. Сведения об ошибке: Не разрешено задавать availableToOtherTenants в этой версии API для обновления.Error detail: Not allowed to set availableToOtherTenants in this api version for update. []."[]."
  • "Не удалось обновить приложение xxxxxx."Failed to update xxxxxx application. Сведения об ошибке: Обновление свойства replyUrls не разрешено для этого приложения.Error detail: Updates to 'replyUrls' property isn't allowed for this application. Используйте вместо этого свойство replyUrlsWithType.Use 'replyUrlsWithType' property instead. []."[]."
  • "Не удалось обновить приложение xxxxxx."Failed to update xxxxxx application. Сведения об ошибке: Обнаружено значение без имени типа, а ожидаемый тип недоступен.Error detail: A value without a type name was found and no expected type is available. Если указана модель, то для каждого значения в полезных данных необходим тип, который может указываться в полезных данных, явно задаваться вызывающим объектом или неявно выводиться из родительского значения.When the model is specified, each value in the payload must have a type that can be either specified in the payload, explicitly by the caller or implicitly inferred from the parent value. []"[]"

Если появляется одна из этих ошибок, мы рекомендуем выполнить следующие действия.When you see one of these errors, we recommend the following actions:

  1. Измените атрибуты по отдельности в редакторе манифеста вместо отправки ранее скачанного манифеста.Edit the attributes individually in the manifest editor instead of uploading a previously downloaded manifest. Используйте таблицу справочника по манифестам, чтобы понять синтаксис и семантику старых и новых атрибутов и изменить нужные атрибуты.Use the manifest reference table to understand the syntax and semantics of old and new attributes so that you can successfully edit the attributes you're interested in.
  2. Если рабочий процесс требует сохранить манифесты в исходном репозитории для последующего использования, мы рекомендуем заменить сохраненные манифесты в репозитории на те, которые отображаются в интерфейсе Регистрация приложений.If your workflow requires you to save the manifests in your source repository for use later, we suggest rebasing the saved manifests in your repository with the one you see in the App registrations experience.

Дальнейшие действияNext steps

Оставляйте свои замечания и пожелания в разделе ниже. Ваши отзывы помогают нам улучшать содержимое веб-сайта.Use the following comments section to provide feedback that helps refine and shape our content.