Validation differences by supported account types (signInAudience)

When registering an application with the Microsoft identity platform for developers, you're asked to select which account types your application supports. In the application object and manifest, this property is signInAudience.

The options include the following values:

  • AzureADMyOrg: Only accounts in the organizational directory where the app is registered (single-tenant).
  • AzureADMultipleOrgs: Accounts in any organizational directory (multi-tenant).

For registered applications, you can find the value for supported account types on the Authentication section of an application. You can also find it under the signInAudience property in the Manifest.

The value you select for this property has implications on other app object properties. As a result, if you change this property you may need to change other properties first.

See the following table for the validation differences of various properties for different supported account types.

Property AzureADMyOrg AzureADMultipleOrgs
Application ID URI (identifierURIs) Must be unique in the tenant

urn:// schemes are supported

Wildcards aren't supported

Query strings and fragments are supported

Maximum length of 255 characters

No limit* on number of identifierURIs
Must be globally unique

urn:// schemes are supported

Wildcards aren't supported

Query strings and fragments are supported

Maximum length of 255 characters

No limit* on number of identifierURIs
Certificates (keyCredentials) Symmetric signing key Symmetric signing key
Client secrets (passwordCredentials) No limit* No limit*
Redirect URIs (replyURLs) See Redirect URI/reply URL restrictions and limitations for more info.
API permissions (requiredResourceAccess) No more than 50 APIs (resource apps) from the same tenant as the application, no more than 10 APIs from other tenants, and no more than 400 permissions total across all APIs. No more than 50 APIs (resource apps) from the same tenant as the application, no more than 10 APIs from other tenants, and no more than 400 permissions total across all APIs.
Scopes defined by this API (oauth2Permissions) Maximum scope name length of 120 characters

No limit* on the number of scopes defined
Maximum scope name length of 120 characters

No limit* on the number of scopes defined
Authorized client applications (preAuthorizedApplications) No limit* No limit*
appRoles Supported
No limit*
Supported
No limit*
Front-channel logout URL https://localhost is allowed

http scheme isn't allowed

Maximum length of 255 characters
https://localhost is allowed

http scheme isn't allowed

Maximum length of 255 characters
Display name Maximum length of 120 characters Maximum length of 120 characters
Tags Individual tag size must be between 1 and 256 characters (inclusive)

No whitespaces or duplicate tags allowed

No limit* on number of tags
Individual tag size must be between 1 and 256 characters (inclusive)

No whitespaces or duplicate tags allowed

No limit* on number of tags
Individual tag size must be between 1 and 256 characters (inclusive)

No whitespaces or duplicate tags allowed

No limit* on number of tags

* There's a global limit of about 1000 items across all the collection properties on the app object.

Next steps

For more information about application registrations and their JSON manifest, see: