Static Web Apps verifiëren en autoriseren

Waarschuwing

Vanwege wijzigingen in X-API-beleid (voorheen Twitter) kunnen we het niet blijven ondersteunen 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.

Azure Static Web Apps biedt een gestroomlijnde verificatie-ervaring, waarbij er geen andere acties of configuraties nodig zijn 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.

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 iets opnemen dat vergelijkbaar is met de volgende koppeling.

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

Als u ervoor kiest om meer dan één provider te ondersteunen, maakt u een providerspecifieke koppeling beschikbaar 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

Retourneer een gebruiker naar een specifieke pagina nadat deze zich heeft aangemeld door een volledig gekwalificeerde URL op te geven in de post_login_redirect_uri querytekenreeksparameter, zoals in het volgende voorbeeld.

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

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

Mogelijk wilt u uw app beperken tot het gebruik van een verificatieprovider, omdat alle verificatieproviders zijn ingeschakeld. Uw app wil bijvoorbeeld alleen standaardiseren voor providers die e-mailadressen beschikbaar maken.

Als u een provider wilt blokkeren, kunt u routeregels maken om een 404-statuscode te retourneren voor aanvragen naar de geblokkeerde providerspecifieke route. Als u bijvoorbeeld Twitter als provider wilt beperken, voegt u de volgende routeregel toe.

{
  "route": "/.auth/login/twitter",
  "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