Autenticare e autorizzare App Web statiche

Avviso

A causa delle modifiche apportate ai criteri api X (in precedenza Twitter) non è possibile continuare a supportarla come parte dei provider preconfigurato per l'app. Se si vuole continuare a usare X (in precedenza Twitter) per l'autenticazione/autorizzazione con l'app, aggiornare la configurazione dell'app per registrare un provider personalizzato.

App Web statiche di Azure offre un'esperienza di autenticazione semplificata, in cui non sono necessarie altre azioni o configurazioni per usare GitHub e l'ID Microsoft Entra per l'autenticazione.

Questo articolo illustra il comportamento predefinito, come configurare l'accesso e la disconnessa, come bloccare un provider di autenticazione e altro ancora.

È possibile registrare un provider personalizzato, che disabilita tutti i provider preconfigurato.

Prerequisiti

Tenere presente le impostazioni predefinite e le risorse seguenti per l'autenticazione e l'autorizzazione con App Web statiche di Azure.

Impostazioni predefinite:

  • Qualsiasi utente può eseguire l'autenticazione con un provider preconfigurato
    • GitHub
    • Microsoft Entra ID
    • Per limitare un provider di autenticazione, bloccare l'accesso con una regola di route personalizzata
  • Dopo l'accesso anonymous , gli utenti appartengono ai ruoli e authenticated . Per altre informazioni sui ruoli, vedere Gestire i ruoli

Risorse:

  • Definire le regole nel file di staticwebapp.config.json per consentire agli utenti autorizzati di ottenere l'accesso alle route limitate
  • Assegnare ruoli personalizzati agli utenti usando il sistema di inviti predefinito
  • Assegnare ruoli personalizzati agli utenti a livello di codice all'accesso con una funzione API
  • Comprendere che l'autenticazione e l'autorizzazione si sovrappongono in modo significativo ai concetti di routing, descritti in dettaglio nella guida alla configurazione dell'applicazione
  • Limitare l'accesso a un tenant Microsoft Entra specifico configurando un provider Microsoft Entra personalizzato. Il provider Microsoft Entra preconfigurato consente a qualsiasi account Microsoft di accedere.

Configurare l'accesso

App Web statiche di Azure usa la cartella di sistema /.auth per fornire l'accesso alle API correlate all'autorizzazione. Anziché esporre una delle route nella /.auth cartella direttamente agli utenti finali, creare regole di routing per URL descrittivi.

Usare la tabella seguente per trovare la route specifica del provider.

Provider di autorizzazione Route di accesso
Microsoft Entra ID /.auth/login/aad
GitHub /.auth/login/github

Ad esempio, per accedere con GitHub, è possibile includere un collegamento simile al seguente.

<a href="/.auth/login/github">Login</a>

Se si sceglie di supportare più provider, esporre un collegamento specifico del provider per ognuno nel sito Web. Usare una regola di route per eseguire il mapping di un provider predefinito a una route descrittiva come /login.

{
  "route": "/login",
  "redirect": "/.auth/login/github"
}

Configurare il reindirizzamento post-accesso

Restituire un utente a una pagina specifica dopo l'accesso fornendo un URL completo nel parametro della post_login_redirect_uri stringa di query, come nell'esempio seguente.

<a href="/.auth/login/github?post_login_redirect_uri=https://zealous-water.azurestaticapps.net/success">Login</a>

You can also redirect unauthenticated users back to the referring page after they sign in. To configure this behavior, create a response override rule that sets post_login_redirect_uri to .referrer, like in the following example.

{
  "responseOverrides": {
    "401": {
      "redirect": "/.auth/login/github?post_login_redirect_uri=.referrer",
      "statusCode": 302
    }
  }
}

Configurare l'iscrizione

La /.auth/logout route disconnette gli utenti dal sito Web. È possibile aggiungere un collegamento alla struttura di spostamento del sito per consentire all'utente di disconnettersi, come nell'esempio seguente.

<a href="/.auth/logout">Log out</a>

Usare una regola di route per eseguire il mapping di un percorso descrittivo, ad esempio /logout.

{
  "route": "/logout",
  "redirect": "/.auth/logout"
}

Configurare il reindirizzamento post-disconnessione

Per restituire un utente a una pagina specifica dopo la disconnessione, specificare un URL nel post_logout_redirect_uri parametro della stringa di query.

Bloccare un provider di autenticazione

È possibile limitare l'uso dell'app a un provider di autenticazione, perché tutti i provider di autenticazione sono abilitati. Ad esempio, l'app potrebbe voler standardizzare l'uso esclusivo dei provider che espongono gli indirizzi di posta elettronica.

Per bloccare un provider, è possibile creare regole di route per restituire un codice di stato 404 per le richieste alla route specifica del provider bloccata. Ad esempio, per bloccare il provider Twitter, aggiungere la regola di route seguente.

{
  "route": "/.auth/login/twitter",
  "statusCode": 404
}

Rimuovere i dati personali

Quando si concede il consenso a un'applicazione come utente finale, l'applicazione ha accesso all'indirizzo di posta elettronica o al nome utente, a seconda del provider di identità. Dopo aver fornito queste informazioni, il proprietario dell'applicazione può decidere come gestire i dati personali.

Gli utenti finali devono contattare gli amministratori di singole app Web per revocare queste informazioni dai propri sistemi.

Per rimuovere i dati personali dalla piattaforma App Web statiche di Azure e impedire alla piattaforma di fornire queste informazioni sulle richieste future, inviare una richiesta usando l'URL seguente:

https://identity.azurestaticapps.net/.auth/purge/<AUTHENTICATION_PROVIDER_NAME>

To prevent the platform from providing this information on future requests to individual apps, submit a request using the following URL:

https://<WEB_APP_DOMAIN_NAME>/.auth/purge/<AUTHENTICATION_PROVIDER_NAME>

If you're using Microsoft Entra ID, use aad as the value for the <AUTHENTICATION_PROVIDER_NAME> placeholder.

Tip

For information about general restrictions and limitations, see Quotas.

Passaggio successivo