Condividi tramite


Configura l'App Service o l'app Azure Functions per accedere utilizzando un provider OpenID Connect

Questo articolo illustra come configurare il servizio app di Azure o Funzioni di Azure per l'uso di un provider di autenticazione personalizzato conforme alla specifica OIDC (OpenID Connect). OIDC è uno standard di settore usato da molti provider di identità (IDP). Non è necessario comprendere i dettagli della specifica perché la tua app utilizzi un provider di identità OIDC.

È possibile configurare l'app per l'uso di uno o più provider OIDC. Ogni provider deve avere un nome alfanumerico univoco nella configurazione. Solo un provider può fungere da destinazione di reindirizzamento predefinita.

Registrare l'applicazione con il provider di identità

Il tuo provider richiede di registrare i dettagli della tua applicazione con esso. Uno di questi passaggi prevede la specifica di un URI di reindirizzamento con il formato <app-url>/.auth/login/<provider-name>/callback. Ogni provider di identità deve fornire altre istruzioni su come completare i passaggi. Il <provider-name> valore fa riferimento al nome descrittivo assegnato al nome del provider OpenID in Azure.

Nota

Alcuni provider potrebbero richiedere passaggi aggiuntivi per la configurazione e per l'uso dei valori forniti. Ad esempio, Apple fornisce una chiave privata che non viene usata come segreto client OIDC. Viene usato per creare un token JSON Web (JWT). Il token Web viene usato come segreto fornito nella configurazione dell'app. Per ulteriori informazioni, vedere Creazione di un segreto del client.

È necessario raccogliere un ID client e un segreto client per l'applicazione. Il segreto client è un'importante credenziale di sicurezza. Non condividere questo segreto con nessuno o distribuirlo in un'applicazione client.

Nota

È necessario fornire un segreto client alla configurazione solo se si desidera acquisire i token di accesso per l'utente tramite un flusso di accesso interattivo usando il flusso del codice di autorizzazione. In caso contrario, la raccolta di un segreto non è necessaria.

Sono necessari anche i metadati OIDC per il provider. Questi metadati vengono spesso esposti in un documento di metadati di configurazione, ovvero l'URL dell'autorità di certificazione del provider con il suffisso /.well-known/openid-configuration. Ottenere questo URL di configurazione.

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

  • URL dell'autorità di certificazione (talvolta visualizzato come issuer)
  • L'endpoint di autorizzazione OAuth 2.0 (può essere mostrato come )
  • Endpoint del token OAuth 2.0 (talvolta mostrato 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

Per aggiungere informazioni sul provider OpenID Connect, seguire questa procedura.

  1. Accedere al portale di Azure e passare all'app.

  2. Nel menu a sinistra selezionare Impostazioni>Autenticazione. Selezionare quindi Aggiungi provider di identità.

  3. Per Provider di identità selezionare OpenID Connect.

  4. Per Nome provider OpenID specificare il nome alfanumerico univoco selezionato in precedenza.

  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 Specifica gli endpoint separatamente. Inserire ogni URL dal provider di identità nel campo corrispondente.

  6. Specificare i valori raccolti in precedenza per ID client. Se è stato raccolto anche il segreto client , specificarlo come parte del processo di configurazione.

  7. Specificare un nome di impostazione dell'applicazione per il segreto client. Il segreto client viene salvato come impostazione dell'applicazione per garantire che i segreti vengano archiviati in modo sicuro. Se si vuole gestire il segreto nell'insieme di credenziali delle chiavi di Azure, aggiornare questa impostazione in un secondo momento per usare riferimenti aa Azure Key Vault.

  8. Selezionare Aggiungi per completare la configurazione del provider di identità.

Nota

Il nome del provider OpenID non può contenere un trattino (-) perché viene creata un'impostazione dell'app in base a questo nome. L'impostazione dell'app non supporta trattini. Usare invece un carattere di sottolineatura (_).

Richiede anche che l'ambito aud nel token sia uguale all'ID client configurato in precedenza. Attualmente non è possibile configurare i gruppi di destinatari consentiti per questo provider.

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