Bearbeiten

Authentifizieren und Autorisieren von Static Web Apps

Warnung

Aufgrund von Änderungen der API-Richtlinie für X (vormals Twitter) können wir den Dienst nicht länger als Teil der vorkonfigurierten Anbieter für Ihre App unterstützen. 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.

Azure Static Web Apps bietet eine optimierte Authentifizierungsfunktion, bei der keine anderen Aktionen oder Konfigurationen erforderlich sind, 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.

Voraussetzungen

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

Standards:

  • Jeder Benutzer kann sich mit 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 mit GitHub können Sie beispielsweise einen Link wie den folgenden 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

Leiten Sie einen Benutzer nach der Anmeldung zu einer bestimmten Seite um, indem Sie wie im folgenden Beispiel gezeigt eine vollqualifizierte URL im Abfragezeichenfolgenparameter 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 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
    }
  }
}

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

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

Zum Blockieren eines Anbieters können Sie Routenregeln erstellen, um Statuscode 404 für Anforderungen zurückzugeben, die an die blockierte anbieterspezifische Route gesendet werden. Fügen Sie beispielsweise die folgende Routenregel hinzu, um Twitter als Anbieter auszuschließen.

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