Ověřování a autorizace statických webových aplikací

Azure Static Web Apps poskytuje zjednodušené prostředí pro ověřování, kdy k ověřování není nutná žádná další konfigurace, která by k ověřování používala GitHub a MICROSOFT Entra ID.

V tomto článku se dozvíte o výchozím chování, o tom, jak nastavit přihlášení a odhlášení, jak blokovat zprostředkovatele ověřování a provádět další akce.

Můžete zaregistrovat vlastního poskytovatele, který zakáže všechny předem nakonfigurované poskytovatele.

Upozorňující

Kvůli změnám v zásadách rozhraní API X (dříve Twitter) není podpora dostupná jako součást předem nakonfigurovaných poskytovatelů pro vaši aplikaci. Pokud chcete x (dříve Twitter) dál používat k ověřování a autorizaci v aplikaci, aktualizujte konfiguraci aplikace a zaregistrujte vlastního poskytovatele.

Požadavky

Mějte na paměti následující výchozí hodnoty a prostředky pro ověřování a autorizaci ve službě Azure Static Web Apps.

Výchozí hodnoty:

  • Každý uživatel se může ověřit pomocí předkonfigurovaného zprostředkovatele.
    • GitHubu
    • Microsoft Entra ID
    • Pokud chcete omezit zprostředkovatele ověřování, zablokujte přístup pomocí vlastního pravidla směrování.
  • Po přihlášení uživatelé patří k rolím a authenticated rolímanonymous. Další informace o rolích najdete v tématu Správa rolí.

Zdroje:

Nastavení přihlášení

Azure Static Web Apps používá systémovou /.auth složku k poskytování přístupu k rozhraním API souvisejícím s autorizací. Místo zveřejnění žádné trasy v rámci /.auth složky přímo koncovým uživatelům vytvořte pravidla směrování pro popisné adresy URL.

Pomocí následující tabulky vyhledejte trasu specifickou pro zprostředkovatele.

Zprostředkovatel autorizace Trasa přihlášení
Microsoft Entra ID /.auth/login/aad
GitHubu /.auth/login/github

Pokud se například chcete přihlásit pomocí GitHubu, můžete použít adresu URL podobnou následujícímu příkladu.

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

Pokud jste se rozhodli podporovat více než jednoho poskytovatele, použijte odkaz specifický pro jednotlivé poskytovatele na vašem webu. Pomocí pravidla trasy namapovat výchozího zprostředkovatele na popisnou trasu, jako je /login.

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

Nastavení přesměrování po přihlášení

Uživatele můžete po přihlášení vrátit na konkrétní stránku zadáním plně kvalifikované adresy URL v parametru post_login_redirect_uri řetězce dotazu.

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

Nastavení registrace

Trasa /.auth/logout odhlásí uživatele z webu. Můžete přidat odkaz na navigaci na webu, aby se uživatel mohl odhlásit, například v následujícím příkladu.

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

K mapování popisné trasy, jako je /logout, použijte pravidlo trasy.

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

Nastavení přesměrování po odhlášení

Pokud chcete po odhlášení vrátit uživatele na konkrétní stránku, zadejte adresu URL v post_logout_redirect_uri parametru řetězce dotazu.

Blokování zprostředkovatele ověřování

Ve výchozím nastavení jsou povoleni všichni zprostředkovatelé ověřování, ale možná budete chtít aplikaci omezit na používání zprostředkovatele. Vaše aplikace může například chtít používat jenom poskytovatele, kteří zpřístupňují e-mailové adresy.

Pokud chcete zablokovat poskytovatele, vytvořte pravidlo trasy, které vrátí stavový 404 kód pro požadavky na trasu specifickou pro blokovaného zprostředkovatele. Pokud chcete například omezit ID Entra (dříve Azure Active Directory označované jako "aad") zprostředkovatele, přidejte následující pravidlo trasy.

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

Odebrání osobních údajů

Když udělíte souhlas s aplikací jako koncový uživatel, aplikace má přístup k vaší e-mailové adrese nebo uživatelskému jménu v závislosti na zprostředkovateli identity. Po poskytnutí těchto informací může vlastník aplikace rozhodnout, jak spravovat osobní údaje.

Koncoví uživatelé musí kontaktovat správce jednotlivých webových aplikací, aby tyto informace odvolali ze svých systémů.

Pokud chcete z platformy Azure Static Web Apps odebrat osobní údaje a zabránit platformě v poskytování těchto informací o budoucích požadavcích, odešlete žádost pomocí následující adresy 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.

Další krok