Condividi tramite


Impostare gli URL di reindirizzamento su b2clogin.com per Azure Active Directory B2C

Importante

A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

Quando si configura un provider di identità per l'iscrizione e l'accesso nelle applicazioni Azure Active Directory B2C (Azure AD B2C), è necessario specificare gli endpoint del provider di identità di Azure AD B2C. Non è più consigliabile fare riferimento login.microsoftonline.com nelle applicazioni e nelle API per autenticare gli utenti con Azure AD B2C. Usare invece b2clogin.com o un dominio personalizzato per tutte le applicazioni.

A quali endpoint si applicano queste modifiche

La transizione a b2clogin.com si applica solo agli endpoint di autenticazione che usano i criteri di Azure AD B2C (flussi utente o criteri personalizzati) per autenticare gli utenti. Questi endpoint hanno un <policy-name> parametro che specifica i criteri che Azure AD B2C deve usare. Altre informazioni sui criteri di Azure AD B2C.

Gli endpoint precedenti possono essere simili ai seguenti:

  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize o https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> per /authorize l'endpoint.
  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout o https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> per /logout l'endpoint.

Un endpoint aggiornato corrispondente sarà simile agli endpoint seguenti:

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize o https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> per l'endpoint /authorize .
  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout o https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> per l'endpoint /logout .

Con il dominio personalizzato di Azure AD B2C, l'endpoint aggiornato corrispondente sarà simile agli endpoint seguenti. È possibile usare uno di questi endpoint:

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize o https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name> per l'endpoint /authorize .
  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout o https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name> per l'endpoint /logout .

Punti finali non interessati

Alcuni clienti usano le funzionalità condivise dei tenant aziendali di Microsoft Entra. Ad esempio, l'acquisizione di un token di accesso per chiamare l'API Microsoft Graph del tenant di Azure AD B2C.

Questa modifica non influisce su tutti gli endpoint, che non contengono un parametro di criteri nell'URL. L'accesso viene eseguito solo con gli endpoint di login.microsoftonline.com dell'ID Entra di Microsoft e non può essere usato con il b2clogin.com o i domini personalizzati. L'esempio seguente mostra un endpoint di token valido di Microsoft Identity Platform:

https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token

Tuttavia, se si vuole ottenere solo un token per autenticare gli utenti, è possibile specificare i criteri che l'applicazione vuole usare per autenticare gli utenti. In questo caso, gli endpoint aggiornati /token sono simili agli esempi seguenti.

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token o https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name> quando si usa b2clogin.com.

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token o https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name> quando si usa un dominio personalizzato.

Panoramica delle modifiche necessarie

Potrebbe essere necessario apportare diverse modifiche per eseguire la migrazione delle applicazioni da login.microsoftonline.com usando gli endpoint di Azure AD B2C:

  • Modificare l'URL per il reindirizzamento nelle applicazioni del provider di identità in modo che faccia riferimento a b2clogin.com o un dominio personalizzato. Per ulteriori informazioni, seguire la guida su come modificare gli URL di reindirizzamento del provider di identità.
  • Aggiornare le applicazioni Azure AD B2C per usare b2clogin.com o dominio personalizzato nei riferimenti al flusso utente e all'endpoint del token. La modifica può includere l'aggiornamento dell'uso di una libreria di autenticazione come Microsoft Authentication Library (MSAL).
  • Aggiornare le origini consentite definite nelle impostazioni CORS per la personalizzazione dell'interfaccia utente.

Modificare gli URL di reindirizzamento del provider di identità

Nel sito Web di ogni provider di identità in cui è stata creata un'applicazione modificare tutti gli URL attendibili per reindirizzare a your-tenant-name.b2clogin.como a un dominio personalizzato anziché login.microsoftonline.com.

Esistono due formati che è possibile usare per gli URL di reindirizzamento b2clogin.com. Il primo offre il vantaggio di non visualizzare "Microsoft" in qualsiasi punto dell'URL usando l'ID tenant (GUID) al posto del nome di dominio del tenant. Si noti che l'endpoint authresp potrebbe non contenere il nome di una politica.

https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp

La seconda opzione usa il nome di dominio del tenant sotto forma di your-tenant-name.onmicrosoft.com. Per esempio:

https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp

Per entrambi i formati:

  • Sostituire {your-tenant-name} con il nome del tenant di Azure AD B2C.
  • Rimuovere /te se è presente nell'URL.

Aggiornare le applicazioni e le API

Il codice nelle applicazioni e nelle API abilitate per Azure AD B2C può fare riferimento a login.microsoftonline.com in diverse posizioni. Ad esempio, il codice potrebbe avere riferimenti ai flussi utente e agli endpoint del token. Aggiornare quanto segue in modo da fare riferimento your-tenant-name.b2clogin.com

  • Authorization endpoint (Endpoint di autorizzazione)
  • Punto di accesso
  • Autorità emittente del token

Ad esempio, l'endpoint dell'autorità per la politica di iscrizione/accesso di Contoso sarà ora:

https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1

Per informazioni sulla migrazione di applicazioni Web basate su OWIN a b2clogin.com, vedere Eseguire la migrazione di un'API Web basata su OWIN a b2clogin.com.

Per migrare le API Management di Azure protette da Azure AD B2C, vedere la sezione Migrare a b2clogin.com di Proteggere un'API Management di Azure con Azure AD B2C.

Microsoft Authentication Library (MSAL)

MSAL.NET proprietà ValidateAuthority

Se si usa MSAL.NET v2 o versioni precedenti, impostare la proprietà ValidateAuthority su false nella creazione di istanze client per consentire i reindirizzamenti a b2clogin.com. L'impostazione di questo valore su false non è necessaria per MSAL.NET v3 e versioni successive.

ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**

Proprietà validateAuthority di MSAL per JavaScript

Se si usa MSAL per JavaScript v1.2.2 o versioni precedenti, impostare la proprietà validateAuthority su false.

// MSAL.js v1.2.2 and earlier
this.clientApplication = new UserAgentApplication(
  env.auth.clientId,
  env.auth.loginAuthority,
  this.authCallback.bind(this),
  {
    validateAuthority: false // Required in MSAL.js v1.2.2 and earlier **ONLY**
  }
);

Se si imposta validateAuthority: true in MSAL.js 1.3.0+ (impostazione predefinita), è necessario specificare anche un'autorità emittente di token valida con knownAuthorities:

// MSAL.js v1.3.0+
this.clientApplication = new UserAgentApplication(
  env.auth.clientId,
  env.auth.loginAuthority,
  this.authCallback.bind(this),
  {
    validateAuthority: true, // Supported in MSAL.js v1.3.0+
    knownAuthorities: ['tenant-name.b2clogin.com'] // Required if validateAuthority: true
  }
);

Per informazioni sulla migrazione di applicazioni Web basate su OWIN a b2clogin.com, vedere Eseguire la migrazione di un'API Web basata su OWIN a b2clogin.com.

Per migrare le API Management di Azure protette da Azure AD B2C, vedere la sezione Migrare a b2clogin.com di Proteggere un'API Management di Azure con Azure AD B2C.