Risoluzione dei problemi del framework di esperienza di gestione delle identità e criteri personalizzati di Azure AD B2CTroubleshoot Azure AD B2C custom policies and Identity Experience Framework

Se si usano i criteri personalizzati di Azure Active Directory B2C (Azure AD B2C), si potrebbero verificare problemi di impostazione del framework di esperienza di gestione delle identità nel relativo formato XML del linguaggio dei criteri.If you use Azure Active Directory B2C (Azure AD B2C) custom policies, you might experience challenges setting up the Identity Experience Framework in its policy language XML format. Imparare a scrivere criteri personalizzati è come apprendere un nuovo linguaggio.Learning to write custom policies can be like learning a new language. Questo articolo descrive gli strumenti e suggerimenti che consentono di individuare e risolvere rapidamente i problemi.In this article, we describe tools and tips that can help you quickly discover and resolve issues.

Nota

Questo articolo è incentrato sulla risoluzione dei problemi della configurazione dei criteri personalizzati di Azure AD B2C.This article focuses on troubleshooting your Azure AD B2C custom policy configuration. Non tratta l'applicazione relying party o la relativa libreria di identità.It doesn't address the relying party application or its identity library.

Modifica dell'XMLXML editing

L'errore più comune nell'impostazione dei criteri è la formattazione XML non corretta.The most common error in setting up custom policies is improperly formatted XML. Un buon editor XML è essenziale.A good XML editor is nearly essential. Un editor XML valido visualizza il codice XML in modo nativo, applica un colore specifico ai contenuti, precompila i termini comuni, mantiene indicizzati gli elementi XML e riesce a eseguire la convalida con lo schema.A good XML editor displays XML natively, color-codes content, prefills common terms, keeps XML elements indexed, and can validate with schema. Seguono due editor XML tra i più validi:Here are two of our favorite XML editors:

La convalida dello schema XML identifica gli errori prima del caricamento del file XML.XML schema validation identifies errors before you upload your XML file. Nella cartella radice dello starter pack ottenere la definizione dello schema XML TrustFrameworkPolicy_0.3.0.0.xsd.In the root folder of the starter pack, get the XML schema definition TrustFrameworkPolicy_0.3.0.0.xsd. Per ulteriori informazioni, nella documentazione dell'editor XML cercare strumenti XML e convalida XML.For more information, in the documentation of your XML editor, look for XML tools and XML validation.

Una revisione delle regole XML può risultare utile.You might find a review of XML rules helpful. Azure AD B2C rifiuta qualsiasi errore di formattazione XML che rileva.Azure AD B2C rejects any XML formatting errors that it detects. Un codice XML non correttamente formattato può restituire a volte messaggi di errore fuorvianti.Occasionally, incorrectly formatted XML might cause error messages that are misleading.

Convalida dei criteri e del caricamento dei criteriUpload policies and policy validation

La convalida del caricamento del file XML è automatica.XML file upload validation is automatic. La maggior parte degli errori causano errori del caricamento.Most errors cause the upload to fail. La convalida include il file dei criteri che si sta caricando.Validation includes the policy file that you are uploading. Include anche la catena di file a cui si riferisce il file di caricamento (il file dei criteri relying party, il file delle estensioni e il file di base).It also includes the chain of files the upload file refers to (the relying party policy file, the extensions file, and the base file).

Gli errori di convalida più comuni sono i seguenti.Common validation errors include the following.

Frammento con errore: ... makes a reference to ClaimType with id "displaName" but neither the policy nor any of its base policies contain such an elementError snippet: ... makes a reference to ClaimType with id "displaName" but neither the policy nor any of its base policies contain such an element

  • Il valore ClaimType potrebbe non essere scritto correttamente oppure non esiste nello schema.The ClaimType value might be misspelled, or does not exist in the schema.
  • I valori ClaimType devono essere definiti in almeno uno dei file nei criteri.ClaimType values must be defined in at least one of the files in the policy. Ad esempio: <ClaimType Id="socialIdpUserId">For example: <ClaimType Id="socialIdpUserId">
  • Se ClaimType è definito nel file delle estensioni, ma è usato anche in un valore TechnicalProfile nel file di base, il caricamento del file di base restituirà un errore.If ClaimType is defined in the extensions file, but it's also used in a TechnicalProfile value in the base file, uploading the base file results in an error.

Frammento con errore: ...makes a reference to a ClaimsTransformation with id...Error snippet: ...makes a reference to a ClaimsTransformation with id...

  • Le cause dell'errore potrebbero essere le stesse dell'errore ClaimType.The causes for the error might be the same as for the ClaimType error.

Frammento con errore: Reason: User is currently logged as a user of 'yourtenant.onmicrosoft.com' tenant. In order to manage 'yourtenant.onmicrosoft.com', please login as a user of 'yourtenant.onmicrosoft.com' tenantError snippet: Reason: User is currently logged as a user of 'yourtenant.onmicrosoft.com' tenant. In order to manage 'yourtenant.onmicrosoft.com', please login as a user of 'yourtenant.onmicrosoft.com' tenant

  • Verificare che il valore TenantId negli elementi <TrustFrameworkPolicy> e <BasePolicy> corrisponda al tenant di Azure Active Directory B2C di destinazione.Check that the TenantId value in the <TrustFrameworkPolicy> and <BasePolicy> elements match your target Azure AD B2C tenant.

Risoluzione dei problemi di runtimeTroubleshoot the runtime

  • Usare Run Now e https://jwt.io per testare i criteri indipendentemente dall'applicazione Web o per dispositivi mobili.Use Run Now and https://jwt.io to test your policies independently of your web or mobile application. Questo sito Web funziona come un'applicazione relying party.This website acts like a relying party application. Viene visualizzato il contenuto del token JSON Web (JWT) che viene generato per i criteri di Azure AD B2C.It displays the contents of the JSON Web Token (JWT) that is generated by your Azure AD B2C policy. Per creare un'applicazione di test nel framework di esperienza di gestione delle identità usare i seguenti valori:To create a test application in Identity Experience Framework, use the following values:

    • Nome: TestAppName: TestApp
    • App Web/API Web: noWeb App/Web API: No
    • Client nativo: noNative client: No
  • Per tracciare lo scambio di messaggi tra il browser client e Azure AD B2C usare Fiddler.To trace the exchange of messages between your client browser and Azure AD B2C, use Fiddler. Consente di ottenere un'indicazione del punto in cui il percorso utente genera errori nei passaggi di orchestrazione.It can help you get an indication of where your user journey is failing in your orchestration steps.

  • In Modalità sviluppo usare Application Insights per tracciare l'attività del percorso utente nel framework di esperienza di gestione delle identità.In Development mode, use Application Insights to trace the activity of your Identity Experience Framework user journey. In Modalità sviluppo è possibile osservare lo scambio di attestazioni tra il framework di esperienza di gestione delle identità e i diversi provider di attestazioni definiti dai profili tecnici, ad esempio provider di identità, servizi basati su API, la directory dell'utente di Azure AD B2C e altri servizi come Multi-Factor Authentication di Azure.In Development mode, you can observe the exchange of claims between the Identity Experience Framework and the various claims providers that are defined by technical profiles, such as identity providers, API-based services, the Azure AD B2C user directory, and other services, like Azure Multi-Factor-Authentication.

Mantenere più versioni degli scenari. Raggrupparli in un progetto con l'applicazione.Keep multiple versions of your scenarios. Group them in a project with your application. I file base, delle estensioni e relying party dipendono direttamente tra loro.The base, extensions, and relying party files are directly dependent on each other. Salvarli come gruppo.Save them as a group. Quando vengono aggiunte nuove funzionalità ai criteri, mantenere versioni di lavoro separate.As new features are added to your policies, keep separate working versions. Inserire le versioni di lavoro nel file system con il codice dell'applicazione con cui interagiscono.Stage working versions in your own file system with the application code they interact with. Le applicazioni potrebbero richiamare diversi criteri relying party in un tenant.Your applications might invoke many different relying party policies in a tenant. Potrebbero diventare dipendenti dalle attestazioni previste dai criteri di Azure AD B2C.They might become dependent on the claims that they expect from your Azure AD B2C policies.

Sviluppare e testare i profili tecnici con percorsi utente noti.Develop and test technical profiles with known user journeys. Usare i criteri starter pack testati per configurare i profili tecnici.Use tested starter pack policies to set up your technical profiles. Testarli separatamente prima di includerli nel proprio percorso utente.Test them separately before you incorporate them into your own user journeys.

Sviluppare e testare i percorsi utente con profili tecnici testati.Develop and test user journeys with tested technical profiles. Modificare i passaggi di orchestrazione di un percorso utente in modo incrementale.Change the orchestration steps of a user journey incrementally. Compilare progressivamente gli scenari previsti.Progressively build your intended scenarios.

Passaggi successiviNext steps