Bearbeiten

Freigeben über


Authentifizieren und Autorisieren von Static Web Apps

Azure Static Web Apps bietet eine optimierte Authentifizierungsumgebung, bei der keine zusätzliche Konfiguration erforderlich ist, um GitHub und Microsoft Entra ID für die Authentifizierung zu verwenden.

In diesem Artikel erfahren Sie mehr über das Standardverhalten, das Einrichten der An- und Abmeldung, das Blockieren eines Authentifizierungsanbieters und vieles mehr.

Sie können einen benutzerdefinierten Anbieter registrieren. Dadurch werden alle vorkonfigurierten Anbieter deaktiviert.

Warnung

Aufgrund von Änderungen der API-Richtlinie für X (vormals Twitter) ist kein Support als Teil der vorkonfigurierten Anbieter für Ihre App verfügbar. Wenn Sie X (vormals Twitter) weiterhin für die Authentifizierung/Autorisierung mit Ihrer App verwenden möchten, aktualisieren Sie Ihre App-Konfiguration, um einen benutzerdefinierten Anbieter zu registrieren.

Voraussetzungen

Beachten Sie die folgenden Standards und Ressourcen für die Authentifizierung und Autorisierung mit Azure Static Web Apps.

Standards:

  • Jeder Benutzer kann sich bei einem vorkonfigurierten Anbieter authentifizieren.
    • GitHub
    • Microsoft Entra ID
    • Blockieren Sie den Zugriff mit einer benutzerdefinierten Routenregel, um einen Authentifizierungsanbieter auszuschließen.
  • Nach der Anmeldung gehören Benutzer den Rollen anonymous und authenticated an. Weitere Informationen zu Rollen finden Sie unter Verwalten von Rollen.

Ressourcen:

Einrichten der Anmeldung

Azure Static Web Apps nutzt den Systemordner /.auth, um Zugriff auf autorisierungsbezogene APIs zu gewähren. Anstatt die Routen im Ordner /.auth direkt für Endbenutzer verfügbar zu machen, können Sie Routingregeln erstellen, um benutzerfreundliche URLs festzulegen.

Verwenden Sie die folgende Tabelle, um die anbieterspezifische Route zu ermitteln.

Autorisierungsanbieter Anmelderoute
Microsoft Entra ID /.auth/login/aad
GitHub /.auth/login/github

Für die Anmeldung bei GitHub können Sie beispielsweise eine URL wie die folgende hinzufügen.

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

Falls Sie mehrere Anbieter unterstützen möchten, machen Sie auf Ihrer Website dafür jeweils einen anbieterspezifischen Link verfügbar. Verwenden Sie eine Routenregel, um einen Standardanbieter einer benutzerfreundlichen Route zuzuordnen, z. B. /login.

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

Einrichten einer Umleitung nach der Anmeldung

Sie können einen Benutzer nach der Anmeldung zu einer bestimmten Seite umleiten, indem Sie eine vollqualifizierte URL im Abfragezeichenfolge-Parameter post_login_redirect_uri angeben.

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

Einrichten der Abmeldung

Mit der Route /.auth/logout werden Benutzer von der Website abgemeldet. Sie können einen Link zu Ihrer Sitenavigation hinzufügen, um dem Benutzer das Abmelden zu ermöglichen. Dies ist im folgenden Beispiel dargestellt.

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

Verwenden Sie eine Routenregel, um eine benutzerfreundliche Route wie /logout zuzuordnen.

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

Einrichten einer Umleitung nach der Abmeldung

Wenn Sie einen Benutzer nach der Abmeldung zu einer bestimmten Seite umleiten möchten, geben Sie eine URL im Abfragezeichenfolgenparameter post_logout_redirect_uri an.

Blockieren eines Authentifizierungsanbieters

Standardmäßig sind alle Authentifizierungsanbieter aktiviert. Möglicherweise möchten Sie aber für Ihre App die Verwendung eines Authentifizierungsanbieters verhindern. Es kann beispielsweise sein, dass für Ihre App nur Anbieter genutzt werden sollen, die E-Mail-Adressen offenlegen.

Zum Blockieren eines Anbieters können Sie eine Routenregel erstellen, um den Statuscode 404 für Anforderungen zurückzugeben, die an die blockierte anbieterspezifische Route gesendet werden. Wenn Sie beispielsweise einen Anbieter von Entra ID (früher Azure Active Directory, bekannt als „aad“) einschränken möchten, fügen Sie die folgende Routenregel hinzu.

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

Entfernen von personenbezogenen Daten

Wenn Sie als Endbenutzer für eine Anwendung Ihre Einwilligung erteilen, hat die Anwendung je nach Identitätsanbieter Zugriff auf Ihre E-Mail-Adresse oder Ihren Benutzernamen. Nachdem diese Informationen bereitgestellt wurden, kann der Besitzer der Anwendung entscheiden, wie personenbezogene Daten verwaltet werden.

Endbenutzer müssen sich an die Administratoren der einzelnen Web-Apps wenden, um diese Informationen für ihre Systeme zu widerrufen.

Senden Sie unter der folgenden URL eine Anfrage, um personenbezogene Daten von der Azure Static Web Apps-Plattform entfernen zu lassen und zu verhindern, dass diese Informationen bei zukünftigen Anforderungen über die Plattform bereitgestellt werden:

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.

Nächster Schritt