Megosztás a következőn keresztül:


Rövid útmutató: A Microsoft identitásplatformja által védett webes API meghívása

A következőkre vonatkozik: Zöld kör fehér pipa szimbólummal, amely a következő tartalmat jelzi a munkaerő-bérlőkre. A munkaerő-bérlők zöld körrel, fehér pipa jellel, amely a következő tartalmat jelzi a külső bérlőkre. 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

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.

  1. 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:

    1. A Hatókör neve mezőbe írja be a következőt access_as_user:
    2. 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.
    3. Rendszergazdai hozzájárulás megjelenítendő neve mezőbe írja be a következőt: .
    4. 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:
    5. 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:
    6. 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:
    7. Állapot alatt tartsa bekapcsolva.
  2. 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.

  1. Nyissa meg a megoldást a Visual Studióban, majd nyissa meg a appsettings.json fájlt a TodoListService projekt gyökerében.

  2. 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 a ClientID és a Audience tulajdonsá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:

  1. A TodoListClient projekt gyökérmappájában nyissa meg a app.config fájlt.

  2. Illessze be az alkalmazásazonosítót a TodoListService-projekthez regisztrált alkalmazásból a TodoListServiceScope paramé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:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazás-rendszergazdaként.

  2. Keresse meg az Entra-azonosító>alkalmazásregisztrációit, és válassza az Új regisztráció lehetőséget.

  3. Válassza az Új regisztráció lehetőséget.

  4. Amikor megnyílik az Alkalmazás regisztrálása lap , adja meg az alkalmazás regisztrációs adatait:

    1. 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).
    2. Támogatott fióktípusok esetén válassza a Bármely szervezeti címtárban lévő Fiókok lehetőséget.
    3. 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:Tenant a következőre commonvan á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.
  5. 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:

    1. A Platformkonfigurációk területen válassza a Platform hozzáadása gombot .
    2. Mobil- és asztali alkalmazások esetén válassza a Mobil és asztali alkalmazások lehetőséget.
    3. Átirányítási URI-k esetén jelölje be a https://login.microsoftonline.com/common/oauth2/nativeclient jelölőnégyzetet.
    4. Válassza a Konfigurálás lehetőséget.
  6. Válassza ki az API-engedélyeket, majd végezze el az alábbi lépéseket az engedélyek hozzáadásához:

    1. Válassza az Engedély hozzáadása gombot .
    2. Válassza a Saját API-k lapot.
    3. Az API-k listájában válassza az AppModelv2-NativeClient-DotNet-TodoListService API-t vagy a webes API-hoz megadott nevet.
    4. 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.
    5. 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.

  1. 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.

  2. 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:ClientId paraméterbe.

A mintaalkalmazás futtatása

Indítsa el mindkét projektet. Visual Studio-felhasználók számára;

  1. Kattintson a jobb gombbal a Visual Studio-megoldásra, és válassza a Tulajdonságok lehetőséget

  2. 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.

  3. Mindkét projektnél válassza a Start műveletet

  4. 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.

  1. Nyomja le az F5 billentyűt a projektek elindításához. Megnyílik a szolgáltatáslap, valamint az asztali alkalmazás.

  2. 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.

  1. Az Alkalmazásregisztrációk portálon nyissa meg a TodoListService alkalmazás tulajdonságait.
  2. 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.
  3. Az Ügyfélazonosító mezőbe illessze be a TodoListClient alkalmazás alkalmazásazonosítóját.
  4. Az Engedélyezett hatókörök szakaszban válassza ki a webes API hatókörét api://<Application ID>/access_as_user .
  5. Válassza az Alkalmazás hozzáadása lehetőséget.

A projekt futtatása

  1. Nyomja le az F5 billentyűt a projekt futtatásához. Megnyílik a TodoListClient alkalmazás.
  2. 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.