Bewerken

Delen via


Static Web Apps verifiëren en autoriseren

Azure Static Web Apps biedt een gestroomlijnde verificatie-ervaring, waarbij er geen extra configuratie is vereist voor het gebruik van GitHub en Microsoft Entra ID voor verificatie.

In dit artikel vindt u meer informatie over het standaardgedrag, het instellen van aanmelding en afmelden, het blokkeren van een verificatieprovider en meer.

U kunt een aangepaste provider registreren, waardoor alle vooraf geconfigureerde providers worden uitgeschakeld.

Waarschuwing

Vanwege wijzigingen in X-API-beleid (voorheen Twitter) is ondersteuning niet beschikbaar als onderdeel van de vooraf geconfigureerde providers voor uw app. Als u X (voorheen Twitter) wilt blijven gebruiken voor verificatie/autorisatie bij uw app, werkt u uw app-configuratie bij om een aangepaste provider te registreren.

Vereisten

Houd rekening met de volgende standaardwaarden en resources voor verificatie en autorisatie met Azure Static Web Apps.

Standaardinstellingen:

  • Elke gebruiker kan verifiëren met een vooraf geconfigureerde provider
    • GitHub
    • Microsoft Entra ID
    • Als u een verificatieprovider wilt beperken, blokkeert u de toegang met een aangepaste routeregel
  • Na aanmelding horen gebruikers bij de anonymous en authenticated rollen. Zie Rollen beheren voor meer informatie over rollen

Resources:

Aanmelden instellen

Azure Static Web Apps maakt gebruik van de /.auth systeemmap om toegang te bieden tot autorisatiegerelateerde API's. In plaats van een van de routes onder de /.auth map rechtstreeks beschikbaar te maken voor eindgebruikers, maakt u routeringsregels voor beschrijvende URL's.

Gebruik de volgende tabel om de providerspecifieke route te vinden.

Autorisatieprovider Aanmeldingsroute
Microsoft Entra ID /.auth/login/aad
GitHub /.auth/login/github

Als u zich bijvoorbeeld wilt aanmelden met GitHub, kunt u een URL gebruiken die vergelijkbaar is met het volgende voorbeeld.

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

Als u ervoor kiest om meer dan één provider te ondersteunen, gebruikt u een providerspecifieke koppeling voor elke provider op uw website. Gebruik een routeregel om een standaardprovider toe te wijzen aan een beschrijvende route, zoals /login.

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

Omleiding na aanmelding instellen

U kunt een gebruiker terugsturen naar een specifieke pagina nadat deze zich heeft aangemeld door een volledig gekwalificeerde URL op te geven in de post_login_redirect_uri querytekenreeksparameter.

<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
    }
  }
}

Afmelden instellen

De /.auth/logout route ondertekent gebruikers van de website. U kunt een koppeling toevoegen aan uw sitenavigatie zodat de gebruiker zich kan afmelden, zoals in het volgende voorbeeld.

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

Gebruik een routeregel om een beschrijvende route, zoals /logout, toe te wijzen.

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

Omleiding na afmelden instellen

Als u een gebruiker wilt retourneren naar een specifieke pagina nadat deze zich heeft afgemeld, geeft u een URL op in post_logout_redirect_uri de querytekenreeksparameter.

Een verificatieprovider blokkeren

Standaard zijn alle verificatieproviders ingeschakeld, maar u kunt uw app beperken tot het gebruik van een provider. Uw app wil bijvoorbeeld alleen providers gebruiken die e-mailadressen beschikbaar maken.

Als u een provider wilt blokkeren, maakt u een routeregel om een 404 statuscode te retourneren voor aanvragen naar de geblokkeerde providerspecifieke route. Als u bijvoorbeeld de Entra-id (voorheen Azure Active Directory, ook wel 'aad'-provider genoemd) wilt beperken, voegt u de volgende routeregel toe.

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

Persoonlijke gegevens verwijderen

Wanneer u toestemming verleent aan een toepassing als eindgebruiker, heeft de toepassing toegang tot uw e-mailadres of gebruikersnaam, afhankelijk van de id-provider. Zodra deze informatie is verstrekt, kan de eigenaar van de toepassing bepalen hoe persoonlijke gegevens moeten worden beheerd.

Eindgebruikers moeten contact opnemen met beheerders van afzonderlijke web-apps om deze informatie van hun systemen in te trekken.

Als u persoonlijke gegevens wilt verwijderen uit het Azure Static Web Apps-platform en wilt voorkomen dat het platform deze informatie op toekomstige aanvragen verstrekt, dient u een aanvraag in met behulp van de volgende URL:

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.

Volgende stap