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.
Ez a cikk bemutatja, hogyan hívhat meg védett ASP.NET Core webes API-t az Insomnia használatával. Az Insomnia egy olyan alkalmazás, amely lehetővé teszi HTTP-kérések küldését egy webes API-nak annak engedélyezési és hozzáférés-vezérlési (hitelesítési) szabályzatainak teszteléséhez. Ebben a cikkben egy webalkalmazást és egy webes API-t regisztrál egy bérlőben. A webalkalmazás a Microsoft Identitásplatform által létrehozott hozzáférési jogkivonat lekérésére szolgál. Ezután a jogkivonat használatával jogosult hívást kezdeményezhet a webes API-ra az Insomnia használatával.
Ez a cikk bemutatja, hogyan hívhat meg védett ASP.NET Core webes API-t az Insomnia használatával. Az Insomnia egy olyan alkalmazás, amely lehetővé teszi HTTP-kérések küldését egy webes API-nak annak engedélyezési és hozzáférés-vezérlési (hitelesítési) szabályzatainak teszteléséhez. Az oktatóanyagból következően: Védett végpont implementálása az API-ba, ahol védett API-t hozott létre, regisztrálnia kell egy webalkalmazást a Microsoft identitásplatformján egy hozzáférési jogkivonat létrehozásához. Ezután a jogkivonat használatával jogosult hívást kezdeményezhet az API-ra az Insomnia használatával.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
- 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ás-rendszergazda
- Alkalmazásfejlesztő
- Felhőalkalmazás-rendszergazda
- Töltse le és telepítse az Insomnia programot. Az Insomnia használatával hozzáférési jogkivonatot szerezhet be az API-kérésekhez.
- A .NET 8.0 SDK minimális követelménye.
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
- 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ás-rendszergazda
- Alkalmazásfejlesztő
- Felhőalkalmazás-rendszergazda
- Az oktatóanyag-sorozat befejezése:
- Töltse le és telepítse az Insomnia programot.
Egy alkalmazás regisztrálása
A Microsoft Identitásplatform megköveteli, hogy az alkalmazás regisztrálva legyen az identitás- és hozzáférés-kezelési szolgáltatások biztosítása előtt. Az alkalmazásregisztrációval megadhatja az alkalmazás nevét és típusát, valamint a bejelentkezési célközönséget. A bejelentkezési célközönség határozza meg, hogy milyen típusú felhasználói fiókok jelentkezhetnek be egy adott alkalmazásba.
A webes API regisztrálása
A webes API-regisztráció létrehozásához kövesse az alábbi lépéseket:
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásfejlesztőként.
Ha több bérlőhöz is hozzáfér, a felső menü Beállítások ikonjával
válthat arra a bérlőre, amelyben regisztrálni szeretné az alkalmazást a Könyvtárak + előfizetések menüből.Keresse meg az Entra-azonosítós>alkalmazásregisztrációkat.
Válassza az Új regisztráció lehetőséget.
Adja meg az alkalmazás nevét , például a NewWebAPI1 nevet.
Támogatott fióktípusok esetén csak ebben a szervezeti címtárban válassza a Fiókok lehetőséget. A különböző fióktípusokra vonatkozó információkért válassza a Segítség a választáshoz lehetőséget.
Válassza a Regisztráció lehetőséget.
Amikor a regisztráció befejeződött, megjelenik az alkalmazás Áttekintés panelje. Jegyezze fel a címtár (bérlő) azonosítóját és az alkalmazás (ügyfél) azonosítóját , amelyet a későbbi lépésekben használni szeretne.
Feljegyzés
A támogatott fióktípusok módosíthatók az alkalmazás által támogatott fiókok módosításával.
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 érvényes.
A Kezelés alatt válassza a API kitettsége > 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 lehetőség kiválasztásával. Ez{clientId}az Áttekintés lapról rögzített érték. Ezután adja meg a következő adatokat:- A Hatókör neve mezőbe írja be a következőt
Forecast.Read: - 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
Allows the application to read weather forecast data: - A Felhasználói hozzájárulás megjelenítendő név mezőjébe írja be a következőt
Read forecast data: - A Felhasználói hozzájárulás leírás mezőjébe írja be a következőt
Allows the application to read weather forecast data: - Győződjön meg arról, hogy az állapotengedélyezve van.
- 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. Ha a hatókör helyesen lett megadva, akkor megjelenik az API-t közzétenő panelen.
A webalkalmazás regisztrálása
Nem elég webes API-val rendelkeznie, hanem egy webalkalmazásra is szüksége van a webes API eléréséhez szükséges hozzáférési jogkivonat beszerzéséhez.
A webalkalmazás-regisztráció létrehozásához kövesse az alábbi lépéseket:
- Válassza a Kezdőlap lehetőséget a kezdőlapra való visszatéréshez. Keresse meg az Entra-azonosítós>alkalmazásregisztrációkat.
- Válassza az Új regisztráció lehetőséget.
- Adja meg az alkalmazás nevét , például a web-app-calls-web-api nevet.
- Támogatott fióktípusok esetén csak ebben a szervezeti címtárban válassza a Fiókok lehetőséget. A különböző fióktípusokkal kapcsolatos információkért válassza a Segítsen választani lehetőséget.
- Az Átirányítási URI (nem kötelező) területen válassza a Web lehetőséget, majd írja be
http://localhostaz URL-cím szövegmezőbe. - Válassza a Regisztráció lehetőséget.
- Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásfejlesztőként.
- Ha több bérlőhöz is hozzáfér, a felső menü Beállítások ikonjával
válthat arra a bérlőre, amelyben regisztrálni szeretné az alkalmazást a Könyvtárak + előfizetések menüből. - Keresse meg az Entra-azonosítós>alkalmazásregisztrációkat.
- Válassza az Új regisztráció lehetőséget.
- Adja meg az alkalmazás nevét , például a web-app-calls-web-api nevet.
- Támogatott fióktípusok esetén csak ebben a szervezeti címtárban válassza a Fiókok lehetőséget. A különböző fióktípusokkal kapcsolatos információkért válassza a Segítsen választani lehetőséget.
- Az Átirányítási URI (nem kötelező) területen válassza a Web lehetőséget, majd írja be
http://localhostaz URL-cím szövegmezőbe. - Válassza a Regisztráció lehetőséget.
Amikor a regisztráció befejeződött, megjelenik az alkalmazás Áttekintés panelje. Jegyezze fel a címtár (bérlő) azonosítóját és az alkalmazás (ügyfél) azonosítóját , amelyet a későbbi lépésekben használni szeretne.
Titkos ügyfélkód hozzáadása
Az ügyfélkód egy sztringérték, amelyet az alkalmazás használhat az identitáshoz, és néha alkalmazásjelszónak is nevezik. A webalkalmazás az ügyfél titkos kódjával igazolja identitását, amikor jogkivonatokat kér.
Az ügyfélkód konfigurálásához kövesse az alábbi lépéseket:
Az Áttekintés panel Kezelés csoportjában válassza a Tanúsítványok & titkos ügyfélkulcsok>új ügyféltitkok> lehetőséget.
Adjon meg egy leírást az ügyfél titkos kódjához, például az Ügyfél titkos kódjához.
Válasszon lejáratot a titkos kódhoz, vagy adjon meg egy egyéni élettartamot.
- Az ügyfélkód élettartama legfeljebb két évre (24 hónapra) korlátozódik. 24 hónapnál hosszabb egyéni élettartamot nem adhat meg.
- A Microsoft azt javasolja, hogy 12 hónapnál rövidebb lejárati értéket állítson be.
Válassza a Hozzáadás lehetőséget.
Ügyeljen arra, hogy rögzítse az ügyfél titkos kódjának értékét . Ez a titkos érték soha többé nem jelenik meg a lap elhagyása után.
Az ügyféltitkok biztonságos tárolásával kapcsolatos további információkért tekintse meg a Titkos kulcsok kezelésének ajánlott eljárásait a Key Vaultban.
Engedélyek hozzáadása a webes API eléréséhez
A webes API hatóköreinek megadásával a webalkalmazás beszerezhet egy hozzáférési jogkivonatot, amely tartalmazza a Microsoft Identitásplatform által biztosított hatóköröket. A kódon belül a webes API ezután engedélyalapú hozzáférést biztosíthat az erőforrásaihoz a hozzáférési jogkivonatban található hatókörök alapján.
Az ügyfél webes API-ra vonatkozó engedélyeinek konfigurálásához kövesse az alábbi lépéseket:
- Az alkalmazás Áttekintés paneljén, a Kezelés területen válassza az API-engedélyeket>: A> API-k hozzáadása.
- Válassza a NewWebAPI1 lehetőséget vagy azt az API-t, amelyhez engedélyeket szeretne hozzáadni.
- Az Engedélyek kiválasztása csoportban jelölje be az Forecast.Read melletti jelölőnégyzetet. Előfordulhat, hogy bővítenie kell az Engedélyek listáját. Ez kiválasztja az ügyfélalkalmazásnak a bejelentkezett felhasználó nevében érvényes engedélyeit.
- Válassza az Engedélyek hozzáadása lehetőséget a folyamat befejezéséhez.
Miután hozzáadta ezeket az engedélyeket az API-hoz, látnia kell a kiválasztott engedélyeket a Konfigurált engedélyek területen.
A Microsoft Graph API User.Read engedélyét is észreveheti. Ez az engedély automatikusan hozzáadódik egy alkalmazás regisztrálásakor.
A webes API tesztelése
Annak érdekében, hogy az API működőképes legyen, és készen álljon a kérelmek kezelésére, kövesse az alábbi lépéseket:
Klónozza az ms-identity-docs-code-dotnet adattárat .
git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.gitKeresse meg
ms-identity-docs-code-dotnet/web-apiés nyissa megappsettings.json, cserélje le a{APPLICATION_CLIENT_ID}{DIRECTORY_TENANT_ID}következő értékeket:-
{APPLICATION_CLIENT_ID}a webes API-alkalmazás (ügyfél) azonosítója az alkalmazás Áttekintés paneljén. -
{DIRECTORY_TENANT_ID}az alkalmazás Áttekintés paneljén található webes API Directory (bérlő) azonosítója.
-
Az alkalmazás elindításához hajtsa végre a következő parancsot:
dotnet runA következőhöz hasonló kimenet jelenik meg. Jegyezze fel a portszámot az
https://localhost:{port}URL-címben.... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:{port} ...
A webes API tesztelése
Annak érdekében, hogy az API működőképes legyen, és készen álljon a kérelmek kezelésére, kövesse az alábbi lépéseket:
Keresse meg az oktatóanyagban létrehozott webes API-t: Hozzon létre egy ASP.NET Core-projektet, és konfigurálja az API-t(például NewWebAPILocal), és nyissa meg a mappát.
Nyisson meg egy új terminálablakot, és keresse meg azt a mappát, amelyben a webes API-projekt található.
A következőhöz hasonló kimenet jelenik meg. Jegyezze fel a portszámot az
https://localhost:{port}URL-címben.... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:{port} ...
Engedélyezett kérés konfigurálása a webes API-hoz az Insomniaban
Az API-kérésekhez tartozó hozzáférési jogkivonat beszerzéséhez kövesse az alábbi lépéseket:
Indítsa el az Insomnia alkalmazást.
Válassza az Új HTTP-kérés lehetőséget, vagy a Ctrl + N billentyűkombinációval létrehozhat egy új HTTP-kérést.
Az Új kérelem modálisban válassza ki a GET metódust a legördülő listából.
A kérés URL-címéhez adja meg a webes API által közzétett végpont URL-címét.
https://localhost:{port}/weatherforecastAz Auth legördülő menüben válassza az OAuth 2.0 lehetőséget. Ez megjeleníti az OAuth 2.0 űrlapot.
Adja meg a következő értékeket az OAuth 2.0 űrlapon:
Beállítás Érték TÁMOGATÁS TÍPUSA Engedélyezési kód kiválasztása ENGEDÉLYEZÉSI URL-cím https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize
Helyettesítse a{tenantId}elemet a címtár (bérlő)azonosítójávalHOZZÁFÉRÉSI TOKEN URL https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
Cserélje le a{tenantId}-t a címtár (bérlő) azonosítójávalÜGYFÉLAZONOSÍTÓ A webalkalmazás-regisztráció alkalmazás-(ügyfél-) azonosítójának értéke TITKOS ÜGYFÉLKÓD A webalkalmazás-regisztráció ügyféltitkának értéke ÁTIRÁNYÍTÁS URL Adja meg http://localhostaz átirányítási URL-címet a Microsoft Entra ID azonosítóval regisztrált átirányítási URI-ra.Speciális beállítások>HATÓKÖR api://{application_client_id}/Forecast.Read
Lépjen a webalkalmazás regisztrációjához, a Kezelés területen válassza ki az API-engedélyeket, majd válassza az Előrejelzés.Olvasás lehetőséget.
Másolja az értéket a szövegmezőbe, amely tartalmazza a Hatókör értéket
Hozzáférési jogkivonat lekérése és kérés küldése a webes API-nak
- Miután megadta ezeket az értékeket, válassza a Jogkivonatok lekérése lehetőséget az űrlap végén. Ezzel elindít egy Insomnia böngészőablakot, ahol a felhasználói hitelesítő adatokkal hitelesíthet. Ügyeljen arra, hogy a böngészőben engedélyezze az Insomnia alkalmazás előugró ablakait.
- A hitelesítés után válassza a Küldés lehetőséget a kérés védett webes API-végpontra való küldéséhez.
Ha a kérés tartalmaz egy érvényes hozzáférési jogkivonatot, a várt válasz 200 OK, a következőhöz hasonló kimenettel:
[
{
"date": "YYYY-MM-DDTHH:MM:SS",
"temperatureC": -16,
"summary": "Scorching",
"temperatureF": 4
},
{
"date": "YYYY-MM-DDTHH:MM:SS",
"temperatureC": 1,
"summary": "Sweltering",
"temperatureF": 33
},
{
"date": "YYYY-MM-DDTHH:MM:SS",
"temperatureC": 26,
"summary": "Freezing",
"temperatureF": 78
},
{
"date": "YYYY-MM-DDTHH:MM:SS",
"temperatureC": 54,
"summary": "Mild",
"temperatureF": 129
},
{
"date": "YYYY-MM-DDTHH:MM:SS",
"temperatureC": 11,
"summary": "Bracing",
"temperatureF": 51
}
]
Kapcsolódó tartalom
Az OAuth 2.0 engedélyezési kódfolyamatával és alkalmazástípusával kapcsolatos további információkért lásd: