Manifest aplikacji Entra firmy Microsoft (format programu Azure AD Graph)
Manifest aplikacji zawiera definicję wszystkich atrybutów obiektu aplikacji w Platforma tożsamości Microsoft. Służy również jako mechanizm aktualizowania obiektu aplikacji. Aby uzyskać więcej informacji na temat jednostki Application i jego schematu, zobacz dokumentację jednostki aplikacji interfejsu API programu Graph.
Atrybuty aplikacji można skonfigurować za pomocą centrum administracyjnego firmy Microsoft Entra lub programowo przy użyciu interfejsu API programu Microsoft Graph lub zestawu MICROSOFT Graph PowerShell SDK. Istnieją jednak pewne scenariusze, w których należy edytować manifest aplikacji w celu skonfigurowania atrybutu aplikacji. Scenariusze obejmują:
- Jeśli zarejestrowano aplikację jako wielodostępne i osobiste konta Microsoft Firmy Microsoft, nie możesz zmienić obsługiwanych kont Microsoft w interfejsie użytkownika. Zamiast tego należy użyć edytora manifestu aplikacji, aby zmienić obsługiwany typ konta.
- Aby zdefiniować uprawnienia i role obsługiwane przez aplikację, należy zmodyfikować manifest aplikacji.
Konfigurowanie manifestu aplikacji
Aby skonfigurować manifest aplikacji:
- Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako deweloper aplikacji.
- Przejdź do aplikacji > Rejestracje aplikacji.
- Wybierz aplikację, którą chcesz skonfigurować.
- W sekcji Zarządzanie aplikacją wybierz pozycję Manifest. Zostanie otwarty internetowy edytor manifestu, który umożliwia edytowanie manifestu. Opcjonalnie możesz wybrać pozycję Pobierz , aby edytować manifest lokalnie, a następnie użyć polecenia Przekaż , aby ponownie zastosować go do aplikacji.
Dokumentacja manifestu
W tej sekcji opisano atrybuty znalezione w manifeście aplikacji.
id, atrybut
Klucz | Typ wartości |
---|---|
identyfikator | String |
Unikatowy identyfikator aplikacji w katalogu. Ten identyfikator nie jest identyfikatorem używanym do identyfikowania aplikacji w żadnej transakcji protokołu. Użyj go do odwoływania się do obiektu w zapytaniach katalogu.
Przykład:
"id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
acceptMappedClaims, atrybut
Klucz | Typ wartości |
---|---|
acceptMappedClaims | Wartość logiczna dopuszczana do wartości null |
Zgodnie z dokumentacją typu apiApplication
zasobu umożliwia aplikacji korzystanie z mapowania oświadczeń bez określania niestandardowego klucza podpisywania. Aplikacje, które odbierają tokeny, polegają na tym, że wartości oświadczeń są autorytatywne wystawiane przez identyfikator Microsoft Entra ID i nie mogą być modyfikowane. Jednak podczas modyfikowania zawartości tokenu za pomocą zasad mapowania oświadczeń te założenia mogą nie być już poprawne. Aplikacje muszą jawnie potwierdzić, że tokeny zostały zmodyfikowane przez twórcę zasad mapowania oświadczeń, aby chronić się przed zasadami mapowania oświadczeń utworzonymi przez złośliwych podmiotów.
Ostrzeżenie
Nie należy ustawiać acceptMappedClaims
true
właściwości dla aplikacji wielodostępnych, co umożliwia złośliwym aktorom tworzenie zasad mapowania oświadczeń dla aplikacji.
Przykład:
"acceptMappedClaims": true,
requestedAccessTokenVersion, atrybut
Klucz | Typ wartości |
---|---|
requestedAccessTokenVersion | Wartość null int32 |
Określa wersję tokenu dostępu oczekiwaną przez zasób. Ten parametr zmienia wersję i format JWT wygenerowany niezależnie od punktu końcowego lub klienta używanego do żądania tokenu dostępu.
Używany punkt końcowy, wersja 1.0 lub wersja 2.0, jest wybierany przez klienta i ma wpływ tylko na wersję id_tokens. Zasoby muszą jawnie skonfigurować, aby wskazać requestedAccessTokenVersion
obsługiwany format tokenu dostępu.
Możliwe wartości requestedAccessTokenVersion
to 1, 2 lub null. Jeśli wartość ma wartość null, ten parametr domyślnie ma wartość 1, która odpowiada punktowi końcowemu w wersji 1.0.
Jeśli signInAudience
ma AzureADandPersonalMicrosoftAccount
wartość , wartość musi mieć wartość 2
.
Przykład:
"requestedAccessTokenVersion": 2,
addIns, atrybut
Klucz | Typ wartości |
---|---|
addIns | Kolekcja |
Definiuje zachowanie niestandardowe, którego usługa zużywającą może używać do wywoływania aplikacji w określonych kontekstach. Na przykład aplikacje, które mogą renderować strumienie plików, mogą ustawić addIns
właściwość dla funkcji "FileHandler". Ten parametr umożliwia usługom takim jak Platforma Microsoft 365 wywoływanie aplikacji w kontekście dokumentu, nad którym pracuje użytkownik.
Przykład:
"addIns": [
{
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"type":" FileHandler",
"properties": [
{
"key": "version",
"value": "2"
}
]
}
],
allowPublicClient, atrybut
Klucz | Typ wartości |
---|---|
allowPublicClient | Wartość logiczna |
Określa typ aplikacji rezerwowej. Identyfikator Entra firmy Microsoft domyślnie wywnioskuje typ aplikacji z parametru replyUrlsWithType. Istnieją pewne scenariusze, w których identyfikator Entra firmy Microsoft nie może określić typu aplikacji klienckiej. Na przykład jednym z takich scenariuszy jest przepływ ROPC , w którym żądanie HTTP odbywa się bez przekierowania adresu URL. W takich przypadkach identyfikator Entra firmy Microsoft interpretuje typ aplikacji na podstawie wartości tej właściwości. Jeśli ta wartość ma wartość true, typ aplikacji rezerwowej jest ustawiony jako klient publiczny, taki jak zainstalowana aplikacja uruchomiona na urządzeniu przenośnym. Wartość domyślna to false, co oznacza, że rezerwowy typ aplikacji jest poufnym klientem, takim jak aplikacja internetowa.
Przykład:
"allowPublicClient": false,
atrybut appId
Klucz | Typ wartości |
---|---|
appId | String |
Określa unikatowy identyfikator aplikacji przypisanej do aplikacji przez identyfikator Entra firmy Microsoft.
Przykład:
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
atrybut appRoles
Klucz | Typ wartości |
---|---|
appRoles | Kolekcja |
Określa kolekcję ról, które aplikacja może zadeklarować. Te role można przypisać do użytkowników, grup lub jednostek usługi. Aby uzyskać więcej przykładów i informacji, zobacz Dodawanie ról aplikacji w aplikacji i odbieranie ich w tokenie.
Przykład:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Read-only access to device information",
"displayName": "Read Only",
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"isEnabled": true,
"value": "ReadOnly"
}
],
errorUrl, atrybut
Klucz | Typ wartości |
---|---|
errorUrl | String |
Nieobsługiwane.
groupMembershipClaims, atrybut
Klucz | Typ wartości |
---|---|
groupMembershipClaims | String |
Konfiguruje oświadczenie wystawione groups
w tokenie dostępu użytkownika lub OAuth 2.0, którego oczekuje aplikacja. Aby ustawić ten atrybut, użyj jednej z następujących prawidłowych wartości ciągu:
"None"
-
"SecurityGroup"
(dla grup zabezpieczeń i ról firmy Microsoft Entra) -
"ApplicationGroup"
(Ta opcja obejmuje tylko grupy przypisane do aplikacji) -
"DirectoryRole"
(pobiera role katalogu Entra firmy Microsoft, do których należy użytkownik) -
"All"
(spowoduje to pobranie wszystkich grup zabezpieczeń, grup dystrybucyjnych i ról katalogu Firmy Microsoft Entra, których członkiem jest zalogowany użytkownik).
Przykład:
"groupMembershipClaims": "SecurityGroup",
optionalClaims, atrybut
Klucz | Typ wartości |
---|---|
optionalClaims | String |
Opcjonalne oświadczenia zwrócone w tokenie przez usługę tokenu zabezpieczającego dla tej konkretnej aplikacji.
Aplikacje, które obsługują zarówno konta osobiste, jak i identyfikator Microsoft Entra ID, nie mogą używać opcjonalnych oświadczeń. Jednak aplikacje zarejestrowane tylko dla identyfikatora Entra firmy Microsoft przy użyciu punktu końcowego w wersji 2.0 mogą uzyskać opcjonalne oświadczenia żądane w manifeście. Aby uzyskać więcej informacji, zobacz Opcjonalne oświadczenia.
Przykład:
"optionalClaims": null,
identifierUris, atrybut
Klucz | Typ wartości |
---|---|
identyfikatoryURI | Tablica ciągów |
Identyfikatory URI zdefiniowane przez użytkownika, które jednoznacznie identyfikują aplikację internetową w dzierżawie firmy Microsoft Entra lub zweryfikowanej domenie należącej do klienta. Gdy aplikacja jest używana jako aplikacja zasobów, wartość identyfikatoraUri jest używana do unikatowego identyfikowania i uzyskiwania dostępu do zasobu. W przypadku publicznej aplikacji klienckiej nie może mieć wartości identyfikatorów identifierUris.
Obsługiwane są następujące formaty identyfikatorów URI identyfikatora aplikacji opartego na schematach HTTP i interfejsu API. Zastąp wartości symboli zastępczych zgodnie z opisem na liście poniżej tabeli.
Identyfikator obsługiwanej aplikacji Formaty identyfikatora URI |
Przykładowe identyfikatory URI identyfikatorów aplikacji |
---|---|
<api:// appId> | api://00001111-aaaa-2222-bbbb-3333cccc4444 |
<api:// tenantId>/<appId> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/00001111-aaaa-2222-bbbb-3333cccc4444 |
<api:// tenantId>/<ciąg> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/api |
<api:// string>/<appId> | api://productapi/00001111-aaaa-2222-bbbb-3333cccc4444 |
<https:// tenantInitialDomain.onmicrosoft.com/>< string> | https://contoso.onmicrosoft.com/productsapi |
<https:// zweryfikowaneCustomDomain>/<ciąg> | https://contoso.com/productsapi |
<https:// ciąg.><verifiedCustomDomain> | https://product.contoso.com |
<https:// ciąg.><verifiedCustomDomain>/<string> | https://product.contoso.com/productsapi |
- <appId> — właściwość identyfikatora aplikacji (appId) obiektu aplikacji.
- <string> — wartość ciągu dla hosta lub segmentu ścieżki interfejsu API.
- <tenantId> — identyfikator GUID wygenerowany przez platformę Azure do reprezentowania dzierżawy na platformie Azure.
- - > , gdzie< tenantInitialDomain> jest początkową nazwą domeny twórcą dzierżawy określonym podczas tworzenia dzierżawy.
- <verifiedCustomDomain> — zweryfikowana domena niestandardowa skonfigurowana dla dzierżawy firmy Microsoft Entra.
Uwaga
Jeśli używasz schematu api:// , należy dodać wartość ciągu bezpośrednio po "api://". Na przykład api://< ciąg.> Ta wartość ciągu może być identyfikatorem GUID lub dowolnym ciągiem. Jeśli dodasz wartość identyfikatora GUID, musi być zgodna z identyfikatorem aplikacji lub identyfikatorem dzierżawy. Wartość identyfikatora URI identyfikatora aplikacji musi być unikatowa dla dzierżawy. Jeśli dodasz identyfikator api://< tenantId> jako identyfikator URI identyfikatora aplikacji, nikt inny nie będzie mógł użyć tego identyfikatora URI w dowolnej innej aplikacji. Zaleceniem jest użycie api://< appId>, zamiast tego lub schematu HTTP.
Ważne
Wartość identyfikatora URI identyfikatora aplikacji nie może kończyć się ukośnikiem "/".
Przykład:
"identifierUris": "https://contoso.onmicrosoft.com/00001111-aaaa-2222-bbbb-3333cccc4444",
informationalUrls, atrybut
Klucz | Typ wartości |
---|---|
informationalUrls | String |
Określa linki do warunków użytkowania usługi i zasad zachowania poufności informacji w aplikacji. Warunki korzystania z usług i zasad zachowania poufności informacji są udostępniane użytkownikom za pośrednictwem środowiska wyrażania zgody przez użytkownika. Aby uzyskać więcej informacji, zobacz How to: Add Terms of service and privacy statement for registered Microsoft Entra apps (Jak dodać warunki użytkowania usługi i zasady zachowania poufności informacji dla zarejestrowanych aplikacji firmy Microsoft).
Przykład:
"informationalUrls": {
"termsOfService": "https://MyRegisteredApp/termsofservice",
"support": "https://MyRegisteredApp/support",
"privacy": "https://MyRegisteredApp/privacystatement",
"marketing": "https://MyRegisteredApp/marketing"
},
keyCredentials, atrybut
Klucz | Typ wartości |
---|---|
keyCredentials | Kolekcja |
Przechowuje odwołania do poświadczeń przypisanych do aplikacji, udostępnionych wpisów tajnych opartych na ciągach i certyfikatów X.509. Te poświadczenia są używane podczas żądania tokenów dostępu (gdy aplikacja działa jako klient, a nie jako zasób).
Przykład:
"keyCredentials": [
{
"customKeyIdentifier":null,
"endDateTime":"2018-09-13T00:00:00Z",
"keyId":"<guid>",
"startDateTime":"2017-09-12T00:00:00Z",
"type":"AsymmetricX509Cert",
"usage":"Verify",
"value":null
}
],
znany atrybutClientApplications
Klucz | Typ wartości |
---|---|
knownClientApplications | Tablica ciągów |
Służy do tworzenia pakietów zgody, jeśli masz rozwiązanie, które zawiera dwie części: aplikację kliencką i niestandardową aplikację internetowego interfejsu API. Jeśli w tej wartości wprowadzisz identyfikator appID aplikacji klienckiej, użytkownik będzie musiał wyrazić zgodę tylko raz na aplikację kliencka. Identyfikator Firmy Microsoft Entra będzie wiedział, że wyrażenie zgody na klienta oznacza niejawne wyrażanie zgody na internetowy interfejs API. Automatycznie aprowizuje jednostki usługi zarówno dla klienta, jak i internetowego interfejsu API w tym samym czasie. Zarówno klient, jak i aplikacja internetowego interfejsu API muszą być zarejestrowane w tej samej dzierżawie.
Przykład:
"knownClientApplications": ["00001111-aaaa-2222-bbbb-3333cccc4444"],
atrybut logoUrl
Klucz | Typ wartości |
---|---|
logoUrl | String |
Wartość tylko do odczytu wskazująca adres URL usługi CDN na logo, które zostało przekazane.
Przykład:
"logoUrl": "https://MyRegisteredAppLogo",
atrybut logoutUrl
Klucz | Typ wartości |
---|---|
logoutUrl | String |
Adres URL wylogowywania się z aplikacji.
Przykład:
"logoutUrl": "https://MyRegisteredAppLogout",
atrybut name
Klucz | Typ wartości |
---|---|
nazwa | String |
Nazwa wyświetlana aplikacji.
Przykład:
"name": "MyRegisteredApp",
oauth2AllowImplicitFlow, atrybut
Klucz | Typ wartości |
---|---|
oauth2AllowImplicitFlow | Wartość logiczna |
Określa, czy ta aplikacja internetowa może żądać niejawnych tokenów dostępu przepływu OAuth2.0. Wartością domyślną jest false. Ta flaga jest używana dla aplikacji opartych na przeglądarce, takich jak aplikacje jednostronicowe Języka JavaScript. Aby dowiedzieć się więcej, wprowadź OAuth 2.0 implicit grant flow
w spisie treści i zobacz tematy dotyczące przepływu niejawnego. Zniechęcimy jednak do korzystania z niejawnego udzielania nawet w ramach spAs i zalecamy użycie przepływu kodu autoryzacji z protokołem PKCE.
Przykład:
"oauth2AllowImplicitFlow": false,
oauth2AllowIdTokenImplicitFlow, atrybut
Klucz | Typ wartości |
---|---|
oauth2AllowIdTokenImplicitFlow | Wartość logiczna |
Określa, czy ta aplikacja internetowa może żądać niejawnych tokenów identyfikatora przepływu OAuth2.0. Wartością domyślną jest false. Ta flaga jest używana dla aplikacji opartych na przeglądarce, takich jak aplikacje jednostronicowe Języka JavaScript. Zniechęcimy jednak do korzystania z niejawnego udzielania nawet w ramach spAs i zalecamy użycie przepływu kodu autoryzacji z protokołem PKCE.
Przykład:
"oauth2AllowIdTokenImplicitFlow": false,
oauth2Permissions, atrybut
Klucz | Typ wartości |
---|---|
oauth2Permissions | Kolekcja |
Określa kolekcję zakresów uprawnień OAuth 2.0, które aplikacja internetowego interfejsu API (zasobu) uwidacznia aplikacjom klienckim. Te zakresy uprawnień mogą zostać przyznane aplikacjom klienckim podczas wyrażania zgody.
Przykład:
"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"
}
],
oauth2RequiredPostResponse, atrybut
Klucz | Typ wartości |
---|---|
oauth2RequiredPostResponse | Wartość logiczna |
Określa, czy w ramach żądań tokenu OAuth 2.0 identyfikator Entra firmy Microsoft będzie zezwalać na żądania POST, a nie żądania GET. Wartość domyślna to false, która określa, że dozwolone są tylko żądania GET.
Przykład:
"oauth2RequirePostResponse": false,
Atrybut parentalControlSettings
Klucz | Typ wartości |
---|---|
parentalControlSettings | String |
-
countriesBlockedForMinors
określa kraje/regiony, w których aplikacja jest zablokowana dla nieletnich. -
legalAgeGroupRule
określa prawną regułę grupy wiekowej, która ma zastosowanie do użytkowników aplikacji. Można ustawić naAllow
, ,RequireConsentForPrivacyServices
RequireConsentForMinors
, ,RequireConsentForKids
lubBlockMinors
.
Przykład:
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
passwordCredentials, atrybut
Klucz | Typ wartości |
---|---|
passwordCredentials | Kolekcja |
Zobacz opis keyCredentials
właściwości .
Przykład:
"passwordCredentials": [
{
"customKeyIdentifier": null,
"displayName": "Generated by App Service",
"endDateTime": "2022-10-19T17:59:59.6521653Z",
"hint": "Nsn",
"keyId": "<guid>",
"secretText": null,
"startDateTime":"2022-10-19T17:59:59.6521653Z"
}
],
preAuthorizedApplications, atrybut
Klucz | Typ wartości |
---|---|
preAuthorizedApplications | Kolekcja |
Wyświetla listę aplikacji i żądane uprawnienia do niejawnej zgody. Wymaga od administratora wyrażenia zgody na aplikację. preAuthorizedApplications nie wymagają od użytkownika wyrażenia zgody na żądane uprawnienia. Uprawnienia wymienione w preAuthorizedApplications nie wymagają zgody użytkownika. Jednak wszelkie dodatkowe żądane uprawnienia, które nie są wymienione w preAuthorizedApplications, wymagają zgody użytkownika.
Przykład:
"preAuthorizedApplications": [
{
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"permissionIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
]
}
],
atrybut publisherDomain
Klucz | Typ wartości |
---|---|
publisherDomain | String |
Zweryfikowana domena wydawcy dla aplikacji. Tylko do odczytu.
Przykład:
"publisherDomain": "{tenant}.onmicrosoft.com",
replyUrlsWithType, atrybut
Klucz | Typ wartości |
---|---|
replyUrlsWithType | Kolekcja |
Ta właściwość wielowartościowa zawiera listę zarejestrowanych wartości redirect_uri, które identyfikator entra firmy Microsoft akceptuje jako miejsca docelowe podczas zwracania tokenów. Każda wartość identyfikatora URI powinna zawierać skojarzona wartość typu aplikacji. Obsługiwane wartości typów to:
Web
InstalledClient
Spa
Aby dowiedzieć się więcej, zobacz ograniczenia i ograniczenia funkcji replyUrl.
Przykład:
"replyUrlsWithType": [
{
"url": "https://localhost:4400/services/office365/redirectTarget.html",
"type": "InstalledClient"
}
],
requiredResourceAccess, atrybut
Klucz | Typ wartości |
---|---|
requiredResourceAccess | Kolekcja |
Dzięki dynamicznej zgody środowisko zgody administratora i środowisko wyrażania zgody użytkownika dla użytkowników korzystających requiredResourceAccess
ze statycznej zgody. Jednak ten parametr nie napędza środowiska zgody użytkownika dla ogólnego przypadku.
-
resourceAppId
to unikatowy identyfikator zasobu, do którego aplikacja wymaga dostępu. Ta wartość powinna być równa identyfikatorowi appId zadeklarowanej w docelowej aplikacji zasobów. -
resourceAccess
to tablica zawierająca zakresy uprawnień OAuth2.0 i role aplikacji wymagane przez aplikację z określonego zasobu.id
Zawiera wartości itype
określonych zasobów.
Przykład:
"requiredResourceAccess": [
{
"resourceAppId": "00000002-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
"type": "Scope"
}
]
}
],
atrybut samlMetadataUrl
Klucz | Typ wartości |
---|---|
samlMetadataUrl | String |
Adres URL metadanych JĘZYKA SAML dla aplikacji.
Przykład:
"samlMetadataUrl": "https://MyRegisteredAppSAMLMetadata",
signInUrl, atrybut
Klucz | Typ wartości |
---|---|
signInUrl | String |
Określa adres URL strony głównej aplikacji.
Przykład:
"signInUrl": "https://MyRegisteredApp",
signInAudience, atrybut
Klucz | Typ wartości |
---|---|
signInAudience | String |
Określa, jakie konta Microsoft są obsługiwane dla bieżącej aplikacji. Obsługiwane wartości to:
-
AzureADMyOrg
— Użytkownicy z kontem służbowym microsoft w dzierżawie firmy Microsoft Entra (na przykład z jedną dzierżawą) -
AzureADMultipleOrgs
— Użytkownicy z kontem służbowym Microsoft w dowolnej dzierżawie firmy Microsoft Entra (na przykład wielodostępnej) -
AzureADandPersonalMicrosoftAccount
— Użytkownicy z osobistym kontem Microsoft lub kontem służbowym w dowolnej dzierżawie firmy Microsoft -
PersonalMicrosoftAccount
- Konta osobiste używane do logowania się do usług, takich jak Xbox i Skype.
Przykład:
"signInAudience": "AzureADandPersonalMicrosoftAccount",
atrybut tagów
Klucz | Typ wartości |
---|---|
tags | Tablica ciągów |
Niestandardowe ciągi, których można użyć do kategoryzowania i identyfikowania aplikacji.
Przykład:
"tags": [
"ProductionApp"
],
Typowe problemy
Limity manifestu
Manifest aplikacji ma wiele atrybutów, które są określane jako kolekcje; na przykład appRoles, keyCredentials, knownClientApplications, identifierUris, redirectUris, requiredResourceAccess i oauth2Permissions. W ramach kompletnego manifestu aplikacji dla dowolnej aplikacji łączna liczba wpisów we wszystkich połączonych kolekcjach została ograniczona do 1200. Jeśli wcześniej określono 100 identyfikatorów URI przekierowania w manifeście aplikacji, pozostało tylko 1100 pozostałych wpisów do użycia we wszystkich innych kolekcjach połączonych, które tworzą manifest.
Uwaga
Jeśli spróbujesz dodać więcej niż 1200 wpisów w manifeście aplikacji, może zostać wyświetlony błąd "Nie można zaktualizować aplikacji xxxxxx. Szczegóły błędu: rozmiar manifestu przekroczył limit. Zmniejsz liczbę wartości i ponów próbę żądania".
Nieobsługiwane atrybuty
Manifest aplikacji reprezentuje schemat bazowego modelu aplikacji w identyfikatorze Entra firmy Microsoft. W miarę rozwoju bazowego schematu edytor manifestu jest aktualizowany w celu odzwierciedlenia nowego schematu od czasu do czasu. W związku z tym można zauważyć nowe atrybuty wyświetlane w manifeście aplikacji. W rzadkich przypadkach można zauważyć zmianę składniową lub semantyczną w istniejących atrybutach lub można znaleźć atrybut, który istniał wcześniej, nie jest już obsługiwany. Na przykład w Rejestracje aplikacji zostaną wyświetlone nowe atrybuty, które są znane z inną nazwą w środowisku Rejestracje aplikacji (starsza wersja).
Rejestracje aplikacji (starsza wersja) | Rejestracje aplikacji |
---|---|
availableToOtherTenants |
signInAudience |
displayName |
name |
errorUrl |
- |
homepage |
signInUrl |
objectId |
Id |
publicClient |
allowPublicClient |
replyUrls |
replyUrlsWithType |
Opisy tych atrybutów można znaleźć w sekcji dokumentacji manifestu.
Podczas próby przekazania wcześniej pobranego manifestu może zostać wyświetlony jeden z następujących błędów. Ten błąd jest prawdopodobnie spowodowany tym, że edytor manifestu obsługuje teraz nowszą wersję schematu, która nie jest zgodna z wersją, którą próbujesz przekazać.
- "Nie można zaktualizować aplikacji xxxxxx. Szczegóły błędu: Nieprawidłowy identyfikator obiektu "niezdefiniowany". []."
- "Nie można zaktualizować aplikacji xxxxxx. Szczegóły błędu: określona co najmniej jedna wartość właściwości jest nieprawidłowa. []."
- "Nie można zaktualizować aplikacji xxxxxx. Szczegóły błędu: Niedozwolone ustawienie dostępneToOtherTenants w tej wersji interfejsu API na potrzeby aktualizacji. []."
- "Nie można zaktualizować aplikacji xxxxxx. Szczegóły błędu: aktualizacje właściwości "replyUrls" nie są dozwolone dla tej aplikacji. Zamiast tego użyj właściwości "replyUrlsWithType". []."
- "Nie można zaktualizować aplikacji xxxxxx. Szczegóły błędu: Znaleziono wartość bez nazwy typu i nie ma oczekiwanego typu. Po określeniu modelu każda wartość w ładunku musi mieć typ, który można określić w ładunku, jawnie przez obiekt wywołujący lub niejawnie wywnioskowany z wartości nadrzędnej. []"
Jeśli zostanie wyświetlony jeden z tych błędów, zalecamy wykonanie następujących czynności:
- Edytuj atrybuty indywidualnie w edytorze manifestu zamiast przekazywać wcześniej pobrany manifest. Użyj tabeli referencyjnej manifestu, aby zrozumieć składnię i semantyki starych i nowych atrybutów, aby można było pomyślnie edytować interesujące cię atrybuty.
- Jeśli przepływ pracy wymaga zapisania manifestów w repozytorium źródłowym do późniejszego użycia, zalecamy ponowne łączenie zapisanych manifestów w repozytorium przy użyciu manifestu widocznego w środowisku Rejestracje aplikacji.
Następne kroki
- Aby uzyskać więcej informacji na temat relacji między obiektami aplikacji i jednostki usługi, zobacz Application and service principal objects in Microsoft Entra ID (Obiekty aplikacji i jednostki usługi w identyfikatorze Entra firmy Microsoft).
- Zapoznaj się z słownikiem deweloperów Platforma tożsamości Microsoft, aby zapoznać się z definicjami niektórych podstawowych pojęć dotyczących deweloperów Platforma tożsamości Microsoft.
Skorzystaj z poniższej sekcji komentarzy, aby przekazać opinię, która pomaga uściślić i kształtować naszą zawartość.