Hitelesítés konfigurálása minta webalkalmazásban az Azure AD B2C használatával

Ez a cikk egy minta ASP.NET webalkalmazással szemlélteti, hogyan adhat hozzá Azure Active Directory B2C -hitelesítést a webalkalmazásokhoz.

Fontos

A cikkben hivatkozott minta ASP.NET webalkalmazás nem használható REST API meghívására, mert azonosító jogkivonatot ad vissza, nem hozzáférési jogkivonatot. A REST API-t meghívó webalkalmazások esetében lásd : A ASP.NET Core használatával készült webes API védelme az Azure AD B2C használatával.

Áttekintés

Az OpenID Csatlakozás (OIDC) egy olyan hitelesítési protokoll, amely az OAuth 2.0-ra épül. Az OIDC használatával biztonságosan bejelentkezhet a felhasználók egy alkalmazásba. Ez a webalkalmazás-minta a Microsoft Identity Webet használja. A Microsoft Identity Web ASP.NET Alapvető kódtárak készlete, amelyek leegyszerűsítik a hitelesítés és az engedélyezés támogatását a webalkalmazásokhoz.

A bejelentkezési folyamat a következő lépéseket foglalja magában:

  1. A felhasználók megnyitják a webalkalmazást, és kiválasztják a Bejelentkezés lehetőséget.
  2. Az alkalmazás hitelesítési kérelmet kezdeményez, és átirányítja a felhasználókat az Azure AD B2C-be.
  3. A felhasználók regisztrálnak vagy bejelentkeznek , és visszaállítják a jelszót. Másik lehetőségként egy közösségi fiókkal is bejelentkezhetnek.
  4. Miután a felhasználók sikeresen bejelentkeznek, az Azure AD B2C egy azonosító jogkivonatot ad vissza az alkalmazásnak.
  5. Az alkalmazás ellenőrzi az azonosító jogkivonatát, beolvassa a jogcímeket, és egy biztonságos lapot ad vissza a felhasználóknak.

Ha az azonosító jogkivonat lejárt, vagy az alkalmazás munkamenete érvénytelenítve van, az alkalmazás új hitelesítési kérést kezdeményez, és átirányítja a felhasználókat az Azure AD B2C-be. Ha az Azure AD B2C SSO-munkamenet aktív, az Azure AD B2C hozzáférési jogkivonatot ad ki anélkül, hogy a felhasználók ismételt bejelentkezésre kérték volna. Ha az Azure AD B2C-munkamenet lejár vagy érvénytelenné válik, a rendszer kéri a felhasználókat, hogy jelentkezzenek be újra.

Kijelentkezés

A kijelentkezés folyamata a következő lépésekből áll:

  1. Az alkalmazásból a felhasználók kijelentkeznek.
  2. Az alkalmazás törli a munkamenet-objektumokat, a hitelesítési tár pedig törli a jogkivonat-gyorsítótárát.
  3. Az alkalmazás az Azure AD B2C bejelentkezési végpontra viszi a felhasználókat az Azure AD B2C-munkamenet leállításához.
  4. A rendszer visszairányítja a felhasználókat az alkalmazásba.

Előfeltételek

Egy számítógép, amely az alábbiak valamelyikét futtatja:

1. lépés: A felhasználói folyamat konfigurálása

Amikor a felhasználók megpróbálnak bejelentkezni az alkalmazásba, az alkalmazás elindít egy hitelesítési kérést az engedélyezési végponthoz egy felhasználói folyamaton keresztül. A felhasználói folyamat határozza meg és szabályozza a felhasználói élményt. Miután a felhasználók befejezték a felhasználói folyamatot, az Azure AD B2C létrehoz egy jogkivonatot, majd visszairányítja a felhasználókat az alkalmazásba.

Ha még nem tette meg, hozzon létre egy felhasználói folyamatot vagy egy egyéni szabályzatot. Ismételje meg a lépéseket három különálló felhasználói folyamat létrehozásához az alábbiak szerint:

  • Kombinált bejelentkezés és felhasználói folyamat regisztrálása , például susi. Ez a felhasználói folyamat az Elfelejtett jelszó funkciót is támogatja.
  • Profilszerkesztési felhasználói folyamat, például edit_profile.
  • Új jelszó kérése felhasználói folyamat, például reset_password.

Az Azure AD B2C előre fel van függve B2C_1_ a felhasználói folyamat nevére. Például a susi következő lesz B2C_1_susi: .

2. lépés: Webalkalmazás regisztrálása

Ahhoz, hogy az alkalmazás bejelentkezhessen az Azure AD B2C-vel, regisztrálja az alkalmazást az Azure AD B2C könyvtárban. Az alkalmazás regisztrálása megbízhatósági kapcsolatot létesít az alkalmazás és az Azure AD B2C között.

Az alkalmazásregisztráció során meg kell adnia az átirányítási URI-t. Az átirányítási URI az a végpont, amelyre az Azure AD B2C átirányítja a felhasználókat az Azure AD B2C-vel való hitelesítés után. Az alkalmazásregisztrációs folyamat létrehoz egy alkalmazásazonosítót, más néven ügyfél-azonosítót, amely egyedileg azonosítja az alkalmazást. Az alkalmazás regisztrálása után az Azure AD B2C az alkalmazásazonosítót és az átirányítási URI-t is használja a hitelesítési kérelmek létrehozásához.

A webalkalmazás-regisztráció létrehozásához kövesse az alábbi lépéseket:

  1. Jelentkezzen be az Azure Portalra.

  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.

  3. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.

  4. Válassza a Alkalmazásregisztrációk, majd az Új regisztráció lehetőséget.

  5. A Név területen adja meg az alkalmazás nevét (például webapp1).

  6. A Támogatott fióktípusok területen válassza a Fiókok lehetőséget bármely identitásszolgáltatóban vagy szervezeti címtárban (a felhasználók felhasználói folyamatokkal való hitelesítéséhez).

  7. Az Átirányítási URI területen válassza a Web lehetőséget, majd írja be https://localhost:44316/signin-oidcaz URL-címet az URL-mezőbe.

  8. A Hitelesítés területen nyissa meg az Implicit engedélyezési és hibrid folyamatokat, és jelölje be az azonosító jogkivonatokat (implicit és hibrid folyamatokhoz) jelölőnégyzetet.

  9. Az Engedélyek csoportban jelölje be a Rendszergazdai hozzájárulás megadása az openid és offline hozzáférési engedélyekhez jelölőnégyzetet.

  10. Válassza a Regisztrálás lehetőséget.

  11. Válassza az Áttekintés lehetőséget.

  12. A webalkalmazás konfigurálásakor jegyezze fel az alkalmazás (ügyfél) azonosítóját későbbi használatra.

    Screenshot of the web app Overview page for recording your web application ID.

3. lépés: A webalkalmazás-minta lekérése

Töltse le a zip-fájlt, vagy klónozza a minta webalkalmazást a GitHubról.

git clone https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2

Bontsa ki a mintafájlt egy olyan mappába, ahol az elérési út teljes hossza 260 vagy kevesebb karakter.

4. lépés: A minta webalkalmazás konfigurálása

A mintamappában az 1-WebApp-OIDC/1-5-B2C/ mappa alatt nyissa meg a WebApp-OpenID Csatlakozás-DotNet.csproj projektet a Visual Studio vagy a Visual Studio Code használatával.

A projekt gyökérmappájában nyissa meg az appsettings.json fájlt. Ez a fájl az Azure AD B2C identitásszolgáltatójáról tartalmaz információkat. Frissítse az alábbi alkalmazásbeállítások tulajdonságait:

Section Key Érték
AzureAdB2C Példány Az Azure AD B2C-bérlő nevének első része (például https://contoso.b2clogin.com).
AzureAdB2C Tartomány Az Azure AD B2C-bérlő teljes bérlőneve (például contoso.onmicrosoft.com).
AzureAdB2C ClientID A webalkalmazás (ügyfél) azonosítója a 2. lépésből.
AzureAdB2C SignUpSignInPolicyId Az 1. lépésben létrehozott felhasználói folyamatok vagy egyéni szabályzat.

A végső konfigurációs fájlnak a következő JSON-fájlhoz hasonlóan kell kinéznie:

"AzureAdB2C": {
  "Instance": "https://contoso.b2clogin.com",
  "Domain": "contoso.onmicrosoft.com",
  "ClientId": "<web-app-application-id>",
  "SignedOutCallbackPath": "/signout/<your-sign-up-in-policy>",
  "SignUpSignInPolicyId": "<your-sign-up-in-policy>"
}

5. lépés: A minta webalkalmazás futtatása

  1. Hozza létre és futtassa a projektet.

  2. Go to https://localhost:44316.

  3. Válassza a Regisztráció/Bejelentkezés lehetőséget.

    Screenshot of the sign in and sign up button on the project Welcome page.

  4. Fejezze be a regisztrációt vagy a bejelentkezési folyamatot.

A sikeres hitelesítés után megjelenik a megjelenítendő név a navigációs sávon. Az Azure AD B2C-jogkivonat által az alkalmazáshoz visszaküldött jogcímek megtekintéséhez válassza a Jogcímek lehetőséget.

Screenshot of the web app token claims.

Az alkalmazás üzembe helyezése

Egy éles alkalmazásban az alkalmazásregisztrációs átirányítási URI általában egy nyilvánosan elérhető végpont, ahol az alkalmazás fut, például https://contoso.com/signin-oidc.

A regisztrált alkalmazásokban bármikor hozzáadhat és módosíthat átirányítási URI-kat. Az átirányítási URI-kra a következő korlátozások vonatkoznak:

  • A válasz URL-címnek a sémával httpskell kezdődnie.
  • A válasz URL-címe megkülönbözteti a kis- és nagybetűkre vonatkozó adatokat. Az esetnek meg kell egyeznie a futó alkalmazás URL-elérési útjának esetével.

Következő lépések