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:
A munkaerő-bérlők
Külső bérlők (további információ)
Ebben a rövid útmutatóban egy minta webalkalmazással mutatja be, hogyan védhet meg egy ASP.NET webes API-t a Microsoft identitásplatformjával. A minta a Microsoft Authentication Library (MSAL) használatával kezeli a hitelesítést és az engedélyezést.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
- Regisztráljon egy új alkalmazást a Microsoft Entra Felügyeleti központban , és rögzítse annak azonosítóit az alkalmazás áttekintési oldalán. További információ: Alkalmazás regisztrálása.
- Név: NewWebAPI1
- Támogatott fióktípusok: Csak ebben a szervezeti címtárban lévő fiókok (egyetlen bérlő)
- Visual Studio 2022. Töltse le ingyenesen a Visual Studiót.
Az API felfedése
Az API regisztrálása után konfigurálhatja annak engedélyét az API által az ügyfélalkalmazások számára elérhetővé tott hatókörök meghatározásával. Az ügyfélalkalmazások engedélyt kérnek a műveletek végrehajtására azáltal, hogy átadnak egy hozzáférési jogkivonatot a kérésekkel együtt a védett webes API-nak. A webes API ezután csak akkor hajtja végre a kért műveletet, ha a kapott hozzáférési jogkivonat tartalmazza a szükséges hatóköröket.
A Kezelés területen válassza az API közzététele>Hatókör hozzáadása lehetőséget. Fogadja el a javasolt alkalmazásazonosító URI-ját (
api://{clientId}) a Mentés és folytatás gombra kattintva, majd adja meg a következő adatokat:- A Hatókör neve mezőbe írja be a következőt
access_as_user: - A Ki tud hozzájárulni, győződjön meg arról, hogy a Rendszergazdák és a felhasználók lehetőség van kiválasztva.
- Rendszergazdai hozzájárulás megjelenítendő neve mezőbe írja be a következőt: .
- A Rendszergazdai hozzájárulás leírása mezőbe írja be a következőt
Accesses the TodoListService web API as a user: - A Felhasználói hozzájárulás megjelenítendő név mezőjébe írja be a következőt
Access TodoListService as a user: - A Felhasználói hozzájárulás leírás mezőjébe írja be a következőt
Accesses the TodoListService web API as a user: - Állapot alatt tartsa bekapcsolva.
- A Hatókör neve mezőbe írja be a következőt
Válassza a Hatókör hozzáadása lehetőséget.
A mintaalkalmazás klónozása vagy letöltése
A mintaalkalmazás beszerzéséhez vagy klónozhatja a GitHubról, vagy letöltheti ".zip" formátumú fájlként.
git clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git
Jótanács
A Windows elérési úthossz-korlátozásai által okozott hibák elkerülése érdekében javasoljuk, hogy bontsa ki az archívumot, vagy klónozza az adattárat a meghajtó gyökeréhez közeli könyvtárba.
A mintaalkalmazás konfigurálása
A kódmintát úgy konfigurálja, hogy megfeleljen a regisztrált webes API-nak.
Nyissa meg a megoldást a Visual Studióban, majd nyissa meg a appsettings.json fájlt a TodoListService projekt gyökerében.
Cserélje le az
Enter_the_Application_Id_hereértékét az ügyfélazonosító (alkalmazásazonosító) értékre az alkalmazásregisztrációs portálon regisztrált alkalmazásból, mind aClientIDés aAudiencetulajdonságoknál.
Az új hatókör hozzáadása a app.config fájlhoz
Ha hozzá szeretné adni az új hatókört a TodoListClient app.config fájlhoz, kövesse az alábbi lépéseket:
A TodoListClient projekt gyökérmappájában nyissa meg a app.config fájlt.
Illessze be az alkalmazásazonosítót a TodoListService-projekthez regisztrált alkalmazásból a
TodoListServiceScopeparaméterbe, és cserélje le a{Enter the Application ID of your TodoListService from the app registration portal}sztringet.
Megjegyzés:
Győződjön meg arról, hogy az alkalmazásazonosító a következő formátumot használja: api://{TodoListService-Application-ID}/access_as_user (ahol a {TodoListService-Application-ID} a TodoListService alkalmazás alkalmazásazonosítóját képviselő GUID).
A webalkalmazás regisztrálása (TodoListClient)
Regisztrálja a TodoListClient alkalmazást az alkalmazásregisztrációkban a Microsoft Entra Felügyeleti központban, majd konfigurálja a kódot a TodoListClient projektben. Ha az ügyfél és a kiszolgáló azonos alkalmazásnak minősül, a 2. lépésben regisztrált alkalmazást újra felhasználhatja. Használja ugyanazt az alkalmazást, ha azt szeretné, hogy a felhasználók személyes Microsoft-fiókkal jelentkezzenek be.
Az alkalmazás regisztrálása
A TodoListClient alkalmazás regisztrálásához kövesse az alábbi lépéseket:
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazás-rendszergazdaként.
Keresse meg az Entra-azonosító>alkalmazásregisztrációit, és válassza az Új regisztráció lehetőséget.
Válassza az Új regisztráció lehetőséget.
Amikor megnyílik az Alkalmazás regisztrálása lap , adja meg az alkalmazás regisztrációs adatait:
- A Név szakaszban adjon meg egy értelmes alkalmazásnevet, amely megjelenik az alkalmazás felhasználói számára (például NativeClient-DotNet-TodoListClient).
- Támogatott fióktípusok esetén válassza a Bármely szervezeti címtárban lévő Fiókok lehetőséget.
- Az alkalmazás létrehozásához válassza a Regisztráció lehetőséget.
Megjegyzés:
A TodoListClient projekt app.config fájlban az alapértelmezett érték
ida:Tenanta következőrecommonvan állítva: . A lehetséges értékek a következők:-
common: Munkahelyi vagy iskolai fiókkal vagy személyes Microsoft-fiókkal is bejelentkezhet (mivel az előző lépésben bármelyik szervezeti címtárban kiválasztotta a Fiókokat ). -
organizations: Munkahelyi vagy iskolai fiókkal jelentkezhet be. -
consumers: Csak microsoftos személyes fiókkal jelentkezhet be.
Az alkalmazás áttekintési lapján válassza a Hitelesítés lehetőséget, majd hajtsa végre az alábbi lépéseket egy platform hozzáadásához:
- A Platformkonfigurációk területen válassza a Platform hozzáadása gombot .
- Mobil- és asztali alkalmazások esetén válassza a Mobil és asztali alkalmazások lehetőséget.
-
Átirányítási URI-k esetén jelölje be a
https://login.microsoftonline.com/common/oauth2/nativeclientjelölőnégyzetet. - Válassza a Konfigurálás lehetőséget.
Válassza ki az API-engedélyeket, majd végezze el az alábbi lépéseket az engedélyek hozzáadásához:
- Válassza az Engedély hozzáadása gombot .
- Válassza a Saját API-k lapot.
- Az API-k listájában válassza az AppModelv2-NativeClient-DotNet-TodoListService API-t vagy a webes API-hoz megadott nevet.
- Jelölje be a access_as_user engedély jelölőnégyzetet, ha még nincs bejelölve. Szükség esetén használja a Keresőmezőt.
- Válassza az Engedélyek hozzáadása gombot.
A projekt konfigurálása
Konfigurálja a TodoListClient-projektet úgy, hogy hozzáadja az alkalmazásazonosítót a app.config fájlhoz.
Az Alkalmazásregisztrációk portál Áttekintés lapján másolja ki az alkalmazás (ügyfél) azonosítójának értékét.
A TodoListClient projekt gyökérmappájában nyissa meg a app.config fájlt, majd illessze be az alkalmazásazonosító értékét a
ida:ClientIdparaméterbe.
A mintaalkalmazás futtatása
Indítsa el mindkét projektet. Visual Studio-felhasználók számára;
Kattintson a jobb gombbal a Visual Studio-megoldásra, és válassza a Tulajdonságok lehetőséget
A Közös tulajdonságok területen válassza az Indítási projekt , majd a Több indítási projekt lehetőséget.
Mindkét projektnél válassza a Start műveletet
Győződjön meg arról, hogy a TodoListService szolgáltatás először elindul, ha a felfelé mutató nyíllal a lista első helyére helyezi.
Jelentkezzen be a TodoListClient-projekt futtatásához.
Nyomja le az F5 billentyűt a projektek elindításához. Megnyílik a szolgáltatáslap, valamint az asztali alkalmazás.
A TodoListClient jobb felső részén válassza a Bejelentkezés lehetőséget, majd jelentkezzen be ugyanazokkal a hitelesítő adatokkal, amelyeket az alkalmazás regisztrálásához használt, vagy jelentkezzen be felhasználóként ugyanabban a könyvtárban.
Ha első alkalommal jelentkezik be, előfordulhat, hogy a rendszer kérni fogja, hogy járuljon hozzá a TodoListService webes API-hoz.
A TodoListService webes API eléréséhez és a teendőlista kezeléséhez a bejelentkezés hozzáférési jogkivonatot is kér a access_as_user hatókörhöz.
Az ügyfélalkalmazás előzetes engedélyezése
Engedélyezheti más könyvtárak felhasználói számára, hogy hozzáférjenek a webes API-hoz, ha előzetesen engedélyezi az ügyfélalkalmazás számára a webes API elérését. Ezt úgy teheti meg, hogy hozzáadja az ügyfélalkalmazás alkalmazásazonosítóját a webes API előhitelesített alkalmazásainak listájához. Egy előhitelesített ügyfél hozzáadásával lehetővé teszi a felhasználók számára, hogy hozzájárulás megadása nélkül férhessenek hozzá a webes API-hoz.
- Az Alkalmazásregisztrációk portálon nyissa meg a TodoListService alkalmazás tulajdonságait.
- Az API-k felfedése szakaszban, az Engedélyezett ügyfélalkalmazások területen válassza az Ügyfélalkalmazás hozzáadása lehetőséget.
- Az Ügyfélazonosító mezőbe illessze be a TodoListClient alkalmazás alkalmazásazonosítóját.
- Az Engedélyezett hatókörök szakaszban válassza ki a webes API hatókörét
api://<Application ID>/access_as_user. - Válassza az Alkalmazás hozzáadása lehetőséget.
A projekt futtatása
- Nyomja le az F5 billentyűt a projekt futtatásához. Megnyílik a TodoListClient alkalmazás.
- A jobb felső sarokban válassza a Bejelentkezés lehetőséget, majd jelentkezzen be személyes Microsoft-fiókkal, például live.com vagy hotmail.com fiókkal, illetve munkahelyi vagy iskolai fiókkal.
Nem kötelező: Bizonyos felhasználók bejelentkezési hozzáférésének korlátozása
Alapértelmezés szerint minden személyes fiók, például outlook.com vagy live.com fiókok, illetve a Microsoft Entra-azonosítóval integrált szervezetek munkahelyi vagy iskolai fiókjai jogkivonatokat kérhetnek, és hozzáférhetnek a webes API-hoz.
Ha meg szeretné adni, hogy ki tud bejelentkezni az alkalmazásba, módosítsa a tulajdonságot TenantId a appsettings.json fájlban.
Következő lépések
Megtudhatja, hogyan védheti meg a ASP.NET Core webes API-t a Microsoft identitásplatformjával.