Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:Munkaerő-bérlők
Külső bérlők (további információ)
Ebben a gyorsútmutatóban bemutatjuk, hogyan lehet bejelentkeztetni a felhasználókat egy minta egyoldalas alkalmazás (SPA) segítségével a engedélyezési kódfolyamat és a Kódcseréhez használt hitelesítési kulcs (PKCE) alkalmazásával, valamint hogyan érhető el a Microsoft Graph API. A minta a Microsoft Authentication Library használatával kezeli a hitelesítést.
Előfeltételek
- Aktív előfizetéssel rendelkező Azure-fiók. Ha még nem rendelkezik ilyen fiókkal, hozzon létre egy fiókot ingyenes.
- Ennek az Azure-fióknak rendelkeznie kell az alkalmazások kezeléséhez szükséges engedélyekkel. Az alábbi Microsoft Entra-szerepkörök bármelyike tartalmazza a szükséges engedélyeket:
- Alkalmazásadminisztrátor
- Alkalmazásfejlesztő
- Munkaerőt igénybe vevő. Használhatja az alapértelmezett címtárat, vagy beállíthat egy új bérlőt.
- Visual Studio Code vagy más kódszerkesztő.
- Regisztráljon egy új alkalmazást a Microsoft Entra felügyeleti központban, amely csak ebben a szervezeti címtárban lévő fiókokhoz van konfigurálva. További részletekért tekintse meg az alkalmazás regisztrálását . Jegyezze fel a következő értékeket az alkalmazás áttekintési oldaláról későbbi használatra:
- Alkalmazás (ügyfél) azonosítója
- Címtár (ügyfél) azonosítója
- Adja hozzá az alábbi átirányítási URI-kat az egyoldalas alkalmazásplatform konfigurációjának használatával. Tekintse meg a Hogyan adható hozzá egy átirányítási URI az alkalmazásban című részt további részletekért.
-
Átirányítási URI:
http://localhost:3000/
-
Átirányítási URI:
- Node.js
A mintaalkalmazás klónozása vagy letöltése
A mintaalkalmazás beszerzéséhez klónozhatja a GitHubról, vagy letöltheti .zip fájlként.
A minta klónozásához nyisson meg egy parancssort, navigáljon ahhoz a helyhez, ahol létre kívánja hozni a projektet, majd írja be a következő parancsot:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-javascript.git
Töltse le a .zip fájlt. Helyezze el egy olyan elérési útra, ahol a fájlnév hossza kevesebb, mint 260 karakter.
A projekt konfigurálása
Az IDE-ben nyissa meg a mintát tartalmazó projektmappát, ms-identity-docs-code-javascript.
Nyissa meg vanillajs-spa/App/public/authConfig.js, és frissítse a következő értékeket a felügyeleti központban rögzített információkkal.
/** * Configuration object to be passed to MSAL instance on creation. * For a full list of MSAL.js configuration parameters, visit: * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md */ const msalConfig = { auth: { clientId: "Enter_the_Application_Id_Here", // WORKFORCE TENANT authority: "https://login.microsoftonline.com/Enter_the_Tenant_Info_Here", // Replace the placeholder with your tenant info // EXTERNAL TENANT // authority: "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/", // Replace the placeholder with your tenant subdomain redirectUri: '/', // You must register this URI on App Registration. Defaults to window.location.href e.g. http://localhost:3000/ navigateToLoginRequestUrl: true, // If "true", will navigate back to the original request location before processing the auth code response. }, cache: { cacheLocation: 'sessionStorage', // Configures cache location. "sessionStorage" is more secure, but "localStorage" gives you SSO. storeAuthStateInCookie: false, // set this to true if you have to support IE }, system: { loggerOptions: { loggerCallback: (level, message, containsPii) => { if (containsPii) { return; } switch (level) { case msal.LogLevel.Error: console.error(message); return; case msal.LogLevel.Info: console.info(message); return; case msal.LogLevel.Verbose: console.debug(message); return; case msal.LogLevel.Warning: console.warn(message); return; } }, }, }, }; /** * Scopes you add here will be prompted for user consent during sign-in. * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request. * For more information about OIDC scopes, visit: * https://learn.microsoft.com/en-us/entra/identity-platform/permissions-consent-overview#openid-connect-scopes */ const loginRequest = { scopes: ["User.Read"], }; /** * An optional silentRequest object can be used to achieve silent SSO * between applications by providing a "login_hint" property. */ // const silentRequest = { // scopes: ["openid", "profile"], // loginHint: "example@domain.net" // }; // exporting config object for jest if (typeof exports !== 'undefined') { module.exports = { msalConfig: msalConfig, loginRequest: loginRequest, }; }
-
clientId
– Az alkalmazás azonosítója, más néven az ügyfél. Cserélje le az idézőjelek szövegét a korábban rögzített alkalmazás (ügyfél) azonosító értékével. -
authority
– A hatóság egy olyan URL-cím, amely egy könyvtárat jelöl, ahonnan az MSAL jogkivonatokat kérhet. Cserélje le a Enter_the_Tenant_Info_Here a korábban rögzített könyvtár (bérlő) azonosítóra. -
redirectUri
– Az alkalmazás átirányítási URI-ja . Szükség esetén cserélje le az idézőjelek szövegét a korábban rögzített átirányítási URI-ra.
-
Az alkalmazás futtatása és bejelentkezés és kijelentkezés
Futtassa a projektet egy webszerverrel a Node.jshasználatával:
A kiszolgáló elindításához futtassa a következő parancsokat a projektkönyvtárból:
cd vanillajs-spa/App npm install npm start
Másolja ki a terminálban megjelenő
https
URL-címet( példáulhttps://localhost:3000
), és illessze be egy böngészőbe. Javasoljuk, hogy privát vagy inkognitó böngésző munkamenetet használjon.Kövesse a lépéseket, és adja meg a microsoftos fiókjával való bejelentkezéshez szükséges adatokat. A rendszer egy e-mail-címet kér, hogy egyszeri pin-kód legyen elküldve Önnek. Amikor a rendszer kéri, adja meg a kódot.
Az alkalmazás engedélyt kér a hozzáférés fenntartásához azokhoz az adatokhoz, amelyekhez hozzáférést adott, valamint hogy bejelentkezhessen, és elolvassa a profilját. Válassza Elfogadáslehetőséget. Megjelenik a következő képernyőkép, amely azt jelzi, hogy bejelentkezett az alkalmazásba, és a Microsoft Graph API-ból fért hozzá a profiladataihoz.
Előfeltételek
- Aktív előfizetéssel rendelkező Azure-fiók. Ha még nem rendelkezik ilyen fiókkal, hozzon létre egy fiókot ingyenes.
- Ennek az Azure-fióknak rendelkeznie kell az alkalmazások kezeléséhez szükséges engedélyekkel. Az alábbi Microsoft Entra-szerepkörök bármelyike tartalmazza a szükséges engedélyeket:
- Alkalmazásadminisztrátor
- Alkalmazásfejlesztő
- Külső bérlő. A létrehozáshoz válasszon az alábbi módszerek közül:
- A Microsoft Entra Külső azonosító bővítmény használatával állítson be egy külső bérlőt közvetlenül a Visual Studio Code-ban. (ajánlott)
- Hozzon létre egy új külső bérlőt a Microsoft Entra Felügyeleti Központban.
- Felhasználói folyamat. További információ: önkiszolgáló regisztrációs felhasználói folyamatok létrehozása külső bérlőkben lévő alkalmazásokhoz. Ez a felhasználói folyamat több alkalmazáshoz is használható.
- Visual Studio Code vagy más kódszerkesztő.
- Regisztráljon egy új alkalmazást a Microsoft Entra felügyeleti központban, amely csak ebben a szervezeti címtárban lévő fiókokhoz van konfigurálva. További részletekért tekintse meg az alkalmazás regisztrálását . Jegyezze fel a következő értékeket az alkalmazás áttekintési oldaláról későbbi használatra:
- Alkalmazás (ügyfél) azonosítója
- Címtár (ügyfél) azonosítója
- Adja hozzá az alábbi átirányítási URI-kat az egyoldalas alkalmazásplatform konfigurációjának használatával. Tekintse meg a Hogyan adható hozzá egy átirányítási URI az alkalmazásban című részt további részletekért.
-
Átirányítási URI:
http://localhost:3000/
-
Átirányítási URI:
- Alkalmazás hozzáadása a felhasználói folyamathoz
- Node.js
Minta SPA klónozása vagy letöltése
A mintaalkalmazás beszerzéséhez klónozhatja a GitHubról, vagy letöltheti .zip fájlként.
A minta klónozásához nyisson meg egy parancssort, navigáljon ahhoz a helyhez, ahol létre kívánja hozni a projektet, majd írja be a következő parancsot:
git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
Töltse le a minta. Helyezze el egy olyan elérési útra, ahol a fájlnév hossza kevesebb, mint 260 karakter.
A minta SPA konfigurálása
Nyissa meg a
App/public/authConfig.js
, és cserélje le a következőket a Microsoft Entra felügyeleti központból beszerzett értékekre:-
Enter_the_Application_Id_Here
és cserélje le a korábban regisztrált alkalmazás (ügyfél) azonosítójára. -
Enter_the_Tenant_Subdomain_Here
és cserélje le a Címtár (tenant) altartományra. Ha például a bérlőd elsődleges doménjecontoso.onmicrosoft.com
, használja acontoso
. Ha nem rendelkezik a bérlő nevével, megtudhatja, hogyan olvasni a bérlő adatait.
-
Mentse a fájlt.
A projekt futtatása és bejelentkezés
A kiszolgáló elindításához futtassa a következő parancsokat a projektkönyvtárból:
cd 1-Authentication\0-sign-in-vanillajs\App npm install npm start
Másolja ki a terminálban megjelenő
https
URL-címet( példáulhttps://localhost:3000
), és illessze be egy böngészőbe. Javasoljuk, hogy privát vagy inkognitó böngésző munkamenetet használjon.Jelentkezzen be a bérlőnél regisztrált fiókkal.
Megjelenik a következő képernyőkép, amely azt jelzi, hogy bejelentkezett az alkalmazásba, és a Microsoft Graph API-ból fért hozzá a profiladataihoz.
Kijelentkezés az alkalmazásból
- Keresse meg a Kijelentkezés gombot a lapon, és jelölje ki.
- A rendszer kérni fogja, hogy válasszon ki egy fiókot, amelyből ki szeretne jelentkezni. Válassza ki a bejelentkezéshez használt fiókot.
Megjelenik egy üzenet, amely jelzi, hogy kijelentkezett. Most már bezárhatja a böngészőablakot.
Kapcsolódó tartalom
- Gyors kezdés: Az ASP.NET Core webes API védelme a Microsoft identitásplatformjával.
- Tudj meg többet egy React SPA létrehozása révén, amely a felhasználók számára bejelentkezést biztosít az alábbi többrészes oktatóanyag-sorozatban.
- Jelszó-visszaállítás engedélyezése.
- Az alapértelmezett arculattestreszabja.
- Google-fiókkal történő bejelentkezés konfigurálása.