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

Upozorňující

Kvůli změnám v zásadách rozhraní API X (dříve Twitter) ho nemůžeme nadále podporovat 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.

Azure Static Web Apps poskytuje zjednodušené prostředí pro ověřování, kdy k ověřování nejsou potřeba žádné jiné akce ani konfigurace.

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.

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í:

  • Každý uživatel se může ověřit pomocí předem nakonfigurované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 zahrnout něco podobného jako na následujícím odkazu.

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

Pokud jste se rozhodli podporovat více než jednoho poskytovatele, zveřejníte 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í

Po přihlášení vraťte uživatele na konkrétní stránku zadáním plně kvalifikované adresy URL v parametru post_login_redirect_uri řetězce dotazu, například v následujícím příkladu.

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

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í

Aplikaci můžete chtít omezit, aby používala zprostředkovatele ověřování, protože jsou povoleni všichni zprostředkovatelé ověřování. Vaše aplikace může například chtít standardizovat jenom u poskytovatelů, kteří zpřístupňují e-mailové adresy.

Pokud chcete zablokovat poskytovatele, můžete vytvořit pravidla směrování, která vrátí stavový kód 404 pro požadavky na trasu specifickou pro blokovaného zprostředkovatele. Pokud chcete například omezit Twitter jako poskytovatele, přidejte následující pravidlo trasy.

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