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 userDetailsClaim
felhaszná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 |
username |
A következő lépéseket követve hozzon létre egy meghívót.
- Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
- A Gépház területen válassza a Szerepkör-kezelés lehetőséget.
- Válassza ki Meghívás lehetőséget.
- Válasszon ki egy engedélyezési szolgáltatót a lehetőségek listájából.
- 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.
- 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.
- A szerepkörnevek vesszővel tagolt listájának hozzáadása a Szerepkör mezőben.
- 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.
- Válassza a Létrehozás lehetőséget.
- Másolja a hivatkozást a Meghívó hivatkozás mezőjéből.
- 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
- Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
- A Gépház területen válassza a Szerepkör-kezelés lehetőséget.
- Jelölje ki a felhasználót a listában.
- Szerkessze a szerepkörök listáját a Szerepkör mezőben.
- Select Update.
Felhasználó eltávolítása
- Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
- A Gépház területen válassza a Szerepkör-kezelés lehetőséget.
- Keresse meg a felhasználót a listában.
- Jelölje be a felhasználó sorában lévő jelölőnégyzetet.
- 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.