Condividi tramite


Configurare l'app servizio app o Funzioni di Azure per l'accesso tramite un provider OpenID Connect

Questo articolo illustra come configurare app Azure Service o Funzioni di Azure per l'uso di un provider di autenticazione personalizzato conforme alla specifica OpenID Connect. OpenID Connect (OIDC) è uno standard di settore usato da molti provider di identità (IDP). Non è necessario comprendere i dettagli della specifica per configurare l'app in modo da usare un IDP conforme.

È possibile configurare l'app per l'uso di uno o più provider OIDC. A ogni deve essere assegnato un nome alfanumerico univoco nella configurazione e solo uno può fungere da destinazione di reindirizzamento predefinita.

Registrare l'applicazione con il provider di identità

Il provider richiederà di registrare i dettagli dell'applicazione. Uno di questi passaggi prevede la specifica di un URI di reindirizzamento. Questo URI di reindirizzamento sarà del formato <app-url>/.auth/login/<provider-name>/callback. Ogni provider di identità deve fornire altre istruzioni su come completare questi passaggi. <provider-name> farà riferimento al nome descrittivo assegnato al nome del provider OpenID in Azure.

Nota

Alcuni provider possono richiedere passaggi aggiuntivi per la configurazione e come usare i valori forniti. Ad esempio, Apple fornisce una chiave privata che non viene usata come segreto client OIDC ed è invece necessario usarla per creare un token JWT che viene trattato come segreto fornito nella configurazione dell'app (vedere la sezione "Creazione del segreto client" della documentazione di Accesso con Apple)

Sarà necessario raccogliere un ID client e un segreto client per l'applicazione.

Importante

Il segreto client è un'importante credenziale di sicurezza. Non condividere questo segreto con nessuno o distribuirlo all'interno di un'applicazione client.

Inoltre, sono necessari i metadati OpenID Connect per il provider. Questa operazione viene spesso esposta tramite un documento di metadati di configurazione, ovvero l'URL dell'autorità di certificazione del provider suffisso con /.well-known/openid-configuration. Raccogliere questo URL di configurazione.

Se non è possibile usare un documento di metadati di configurazione, è necessario raccogliere i valori seguenti separatamente:

  • URL dell'autorità di certificazione (talvolta visualizzato come issuer)
  • Endpoint di autorizzazione OAuth 2.0 (talvolta visualizzato come authorization_endpoint)
  • Endpoint del token OAuth 2.0 (talvolta visualizzato come token_endpoint)
  • URL del documento set di chiavi Web JSON OAuth 2.0 (talvolta visualizzato come jwks_uri)

Aggiungere informazioni sul provider all'applicazione

  1. Accedere al portale di Azure e passare all’app.
  2. Selezionare Autenticazione dal menu a sinistra. Fare clic su Aggiungi provider di identità.
  3. Selezionare OpenID Connect nell'elenco a discesa provider di identità.
  4. Specificare il nome alfanumerico univoco selezionato in precedenza per il nome del provider OpenID.
  5. Se si dispone dell'URL per il documento di metadati del provider di identità, specificare tale valore per l'URL dei metadati. In caso contrario, selezionare l'opzione Fornisci endpoint separatamente e inserire ogni URL raccolto dal provider di identità nel campo appropriato.
  6. Specificare l'ID client raccolto in precedenza e il segreto client nei campi appropriati.
  7. Specificare un nome di impostazione dell'applicazione per il segreto client. Il segreto client verrà archiviato come impostazione dell'app per assicurarsi che i segreti vengano archiviati in modo sicuro. È possibile aggiornare questa impostazione in un secondo momento per usare riferimenti a Key Vault se si desidera gestire il segreto in Azure Key Vault.
  8. Premere il pulsante Aggiungi per completare la configurazione del provider di identità.

Nota

Il nome del provider OpenID non può contenere simboli come "-" perché un'impostazione app verrà creata in base a questa impostazione e non la supporta. Usare invece "_".

Nota

Azure richiede ambiti "openid", "profile" e "email". Assicurarsi di aver configurato la registrazione dell'app nel provider ID con almeno questi ambiti.

Passaggi successivi