Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il servizio App Web statiche di Azure offre un'esperienza di autenticazione semplificata, in cui non è necessaria alcuna configurazione aggiuntiva per usare GitHub e Microsoft Entra ID per l'autenticazione. Tutte le funzionalità elencate in questo articolo sono disponibili in tutti i piani di App Web statiche.
Questo articolo illustra il comportamento predefinito, come configurare l'accesso e la disconnessione, come bloccare un provider di autenticazione e altro ancora. Per leggere i dettagli dell'autenticazione per un uso specifico, vedere Accedere alle informazioni utente.
È possibile registrare un provider personalizzato, che disabilita tutti i provider preconfigurati.
Avviso
A causa delle modifiche apportate ai criteri dell'API X (in precedenza Twitter), il supporto non è disponibile 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.
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, gli utenti appartengono ai ruoli
anonymous
eauthenticated
. Per altre informazioni sui ruoli, vedere Gestire i ruoli
Risorse:
- Definire le regole nel file staticwebapp.config.json per consentire agli utenti autorizzati di accedere 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 specifico di Microsoft Entra ID tramite la configurazione di un provider personalizzato di Microsoft Entra ID. Il provider preconfigurato di Microsoft Entra ID 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 cartella /.auth
direttamente agli utenti finali, creare regole di routing per gli 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 usare un URL simile all'esempio seguente.
<a href="/.auth/login/github">Login</a>
Se si sceglie di supportare più di un provider, usare un collegamento specifico del provider per ogni provider nel sito Web. Usare una regola di route per eseguire il mapping di un provider predefinito a una route intuitiva come /login.
{
"route": "/login",
"redirect": "/.auth/login/github"
}
Configurare il reindirizzamento post-accesso
È possibile riportare un utente a una pagina specifica dopo l'accesso fornendo un URL completo nel parametro post_login_redirect_uri
della stringa di query.
<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 add this redirect, 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 la disconnessione
La route /.auth/logout
disconnette gli utenti dal sito Web. È possibile aggiungere un collegamento all'esplorazione del sito per consentire all'utente di disconnettersi come illustrato nell'esempio seguente.
<a href="/.auth/logout">Log out</a>
Usare una regola di route per eseguire il mapping di una route intuitiva come /logout.
{
"route": "/logout",
"redirect": "/.auth/logout"
}
Configurare il reindirizzamento post-disconnessione
Per riportare un utente a una pagina specifica dopo la disconnessione, specificare un URL nel parametro post_logout_redirect_uri
della stringa di query.
Bloccare un provider di autenticazione
Per impostazione predefinita, tutti i provider di autenticazione sono abilitati, ma è possibile che si voglia impedire all'app di usare un provider. Ad esempio, l'app potrebbe voler usare solo provider che espongono indirizzi di posta elettronica.
Per bloccare un provider, creare una regola di route per restituire un codice di stato 404
per le richieste alla route specifica del provider bloccato. Ad esempio, per limitare l'ID Entra (in precedenza Azure Active Directory, noto come provider "aad"), aggiungere la regola di route seguente.
{
"route": "/.auth/login/aad",
"statusCode": 404
}
Rimuovere i dati personali
Quando si concede il consenso a un'applicazione come utente finale, l'applicazione può accedere 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 delle singole app Web per revocare tali informazioni dai relativi sistemi.
Per rimuovere le informazioni personali dell'utente finale dalla piattaforma App Web statiche di Azure e impedire alla piattaforma di fornire queste informazioni in caso di 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.