Egyéni hitelesítés az Azure Static Web Appsben

Az Azure Static Web Apps felügyelt hitelesítést biztosít, amely az Azure által felügyelt szolgáltatói regisztrációkat használja. Ha nagyobb rugalmasságot szeretne biztosítani a regisztrációval szemben, egyéni regisztrációval felülbírálhatja az alapértelmezett értékeket.

  • Az egyéni hitelesítés lehetővé teszi az OpenID Csatlakozás támogató egyéni szolgáltatók konfigurálását is. Ez a konfiguráció több külső szolgáltató regisztrációját teszi lehetővé.

  • Az egyéni regisztrációk használata letiltja az összes előre konfigurált szolgáltatót.

Megjegyzés:

Az egyéni hitelesítés csak az Azure Static Web Apps Standard csomagban érhető el.

Egyéni identitásszolgáltató konfigurálása

Az egyéni identitásszolgáltatók a auth konfigurációs fájl szakaszában vannak konfigurálva.

Annak érdekében, hogy a titkos kulcsok ne kerüljenek a forráskezelésbe, a konfiguráció megvizsgálja a konfigurációs fájlban található egyező név alkalmazásbeállítását . A titkos kulcsokat az Azure Key Vaultban is tárolhatja.

A regisztráció létrehozásához először hozza létre a következő alkalmazásbeállításokat:

A beállítás neve Value
AZURE_CLIENT_ID A Microsoft Entra alkalmazásregisztráció alkalmazás-(ügyfél-) azonosítója.
AZURE_CLIENT_SECRET A Microsoft Entra alkalmazásregisztrációjának titkos ügyfélkódja.

Ezután a következő példában konfigurálja a szolgáltatót a konfigurációs fájlban.

A Microsoft Entra-szolgáltatók két különböző verzióban érhetők el. Az 1. verzió explicit módon határozza meg a userDetailsClaimfelhasználói adatokat, így a hasznos adatok visszaadhatók. Ezzel szemben a 2. verzió alapértelmezés szerint felhasználói adatokat ad vissza, és az openIdIssuer URL-cím határozza megv2.0.

Microsoft Entra 1-es verzió

{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>",
          "clientIdSettingName": "AZURE_CLIENT_ID",
          "clientSecretSettingName": "AZURE_CLIENT_SECRET"
        }
      }
    }
  }
}

Mindenképpen cserélje le <TENANT_ID> a Microsoft Entra-bérlőazonosítót.

Microsoft Entra 2-es verzió

{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
          "clientIdSettingName": "AZURE_CLIENT_ID",
          "clientSecretSettingName": "AZURE_CLIENT_SECRET"
        }
      }
    }
  }
}

Mindenképpen cserélje le <TENANT_ID> a Microsoft Entra-bérlőazonosítót.

A Microsoft Entra-azonosító konfigurálásáról további információt az App Service-hitelesítés/engedélyezés dokumentációjában talál egy meglévő regisztráció használatával kapcsolatban.

Annak konfigurálásához, hogy mely fiókok jelentkezhetnek be, olvassa el az alkalmazás által támogatott fiókok módosítása és a Microsoft Entra-alkalmazás korlátozása a Microsoft Entra-bérlők felhasználóinak egy csoportjára című témakört.

Megjegyzés:

Bár a Microsoft Entra ID konfigurációs szakasza az azureActiveDirectory, a platform ezt aad a bejelentkezési, kijelentkezési és törlési felhasználói adatok URL-címében használja. További információért tekintse meg a hitelesítés és az engedélyezés szakaszt.

Hitelesítési visszahívások

Az identitásszolgáltatóknak átirányítási URL-címre van szükségük a bejelentkezési vagy kijelentkezési kérés teljesítéséhez. A legtöbb szolgáltatónak hozzá kell adnia a visszahívási URL-címeket egy engedélyezési listához. A következő végpontok átirányítási célként érhetők el.

Type URL-minta
Bejelentkezés https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback
Kijelentkezés https://<YOUR_SITE>/.auth/logout/<PROVIDER_NAME_IN_CONFIG>/callback

Ha Microsoft Entra-azonosítót használ, használja aad a <PROVIDER_NAME_IN_CONFIG> helyőrző értékét.

Megjegyzés:

Ezeket az URL-címeket az Azure Static Web Apps biztosítja a hitelesítésszolgáltató válaszának fogadásához, nem kell lapokat létrehoznia ezeken az útvonalakon.

Bejelentkezés, kijelentkezés és felhasználói adatok

Egyéni identitásszolgáltató használatához használja az alábbi URL-mintákat.

Action Minta
Bejelentkezés /.auth/login/<PROVIDER_NAME_IN_CONFIG>
Kijelentkezés /.auth/logout
Felhasználói adatok /.auth/me
Felhasználói adatok törlése /.auth/purge/<PROVIDER_NAME_IN_CONFIG>

Ha Microsoft Entra-azonosítót használ, használja aad a <PROVIDER_NAME_IN_CONFIG> helyőrző értékét.

Szerepkörök kezelése

Minden felhasználó, aki statikus webalkalmazáshoz fér hozzá, egy vagy több szerepkörhöz tartozik. A felhasználók két beépített szerepkörhöz tartozhatnak:

  • névtelen: Minden felhasználó automatikusan a névtelen szerepkörhöz tartozik.
  • hitelesített: Minden bejelentkezett felhasználó a hitelesített szerepkörhöz tartozik.

A beépített szerepkörökön kívül egyéni szerepköröket is hozzárendelhet a felhasználókhoz, és hivatkozhat rájuk a staticwebapp.config.json fájlban.

Felhasználó hozzáadása szerepkörhöz

Ha felhasználót szeretne hozzáadni egy szerepkörhöz, olyan meghívókat hoz létre, amelyek lehetővé teszik a felhasználók adott szerepkörökhöz való hozzárendelését. A szerepkörök definiálása és karbantartása a staticwebapp.config.json fájlban történik.

Meghívó létrehozása

A meghívások az egyes hitelesítésszolgáltatókra vonatkoznak, ezért vegye figyelembe az alkalmazás igényeit, amikor kiválasztja, hogy mely szolgáltatókat támogatja. Egyes szolgáltatók közzéteszik a felhasználó e-mail-címét, míg mások csak a webhely felhasználónevét adják meg.

Engedélyezési szolgáltató Kiteszi
Microsoft Entra ID e-mail-cím;
GitHub username
Twitter username

A következő lépéseket követve hozzon létre egy meghívót.

  1. Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
  2. A Gépház területen válassza a Szerepkör-kezelés lehetőséget.
  3. Válassza ki Meghívás lehetőséget.
  4. Válasszon ki egy engedélyezési szolgáltatót a lehetőségek listájából.
  5. Adja meg a címzett felhasználónevét vagy e-mail-címét a Meghívás részletei mezőben.
    • A GitHub és a Twitter esetében adja meg a felhasználónevet. Minden másnál adja meg a címzett e-mail-címét.
  6. Válassza ki a statikus webhely tartományát a Tartomány legördülő menüből.
    • A kiválasztott tartomány a meghívóban megjelenő tartomány. Ha a webhelyhez egyéni tartomány van társítva, válassza ki az egyéni tartományt.
  7. A szerepkörnevek vesszővel tagolt listájának hozzáadása a Szerepkör mezőben.
  8. Adja meg, hogy a meghívás hány órát tart érvényesnek.
    • A maximális lehetséges korlát 168 óra, ami hét nap.
  9. Válassza a Létrehozás lehetőséget.
  10. Másolja a hivatkozást a Meghívó hivatkozás mezőjéből.
  11. Küldje el e-mailben a meghívó hivatkozását annak a felhasználónak, akihez hozzáférést ad.

Amikor a felhasználó kiválasztja a hivatkozást a meghívóban, a rendszer kérni fogja, hogy jelentkezzen be a megfelelő fiókjával. Miután sikeresen bejelentkezett, a felhasználó a kijelölt szerepkörökhöz lesz társítva.

Figyelmeztetés

Győződjön meg arról, hogy az útvonalszabályok nem ütköznek a kiválasztott hitelesítésszolgáltatókkal. Az útvonalszabályt tartalmazó szolgáltató letiltása megakadályozza, hogy a felhasználók fogadják el a meghívókat.

Szerepkör-hozzárendelések frissítése

  1. Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
  2. A Gépház területen válassza a Szerepkör-kezelés lehetőséget.
  3. Jelölje ki a felhasználót a listában.
  4. Szerkessze a szerepkörök listáját a Szerepkör mezőben.
  5. Select Update.

Felhasználó eltávolítása

  1. Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
  2. A Gépház területen válassza a Szerepkör-kezelés lehetőséget.
  3. Keresse meg a felhasználót a listában.
  4. Jelölje be a felhasználó sorában lévő jelölőnégyzetet.
  5. Select Delete.

A felhasználók eltávolításakor tartsa szem előtt a következő elemeket:

  • A felhasználó eltávolítása érvényteleníti az engedélyeiket.
  • A globális propagálás eltarthat néhány percig.
  • Ha a felhasználó visszakerül az alkalmazásba, a userId változások megváltoznak.

Következő lépések