Microsoft Identitásplatform alkalmazástípusok és hitelesítési folyamatok

A Microsoft Identitásplatform különböző modern alkalmazásarchitektúrákhoz támogatja a hitelesítést. Az összes architektúra az OAuth 2.0 és az OpenID Connect iparági szabvány protokollon alapul. A Microsoft Identitásplatform hitelesítési kódtárainak használatával az alkalmazások hitelesítik az identitásokat, és jogkivonatokat szereznek be a védett API-k eléréséhez.

Ez a cikk a hitelesítési folyamatokat és a használt alkalmazásforgatókönyveket ismerteti.

Alkalmazáskategóriák

A biztonsági jogkivonatok több alkalmazástípusból is beszerezhetők, például:

  • Webalkalmazások
  • Mobilalkalmazások
  • Asztali alkalmazások
  • Webes API-k

A jogkivonatokat olyan eszközökön futó alkalmazások is beszerezhetik, amelyek nem rendelkeznek böngészővel, vagy az eszközök internetes hálózatán (IoT) futnak.

A következő szakaszok az alkalmazások kategóriáit ismertetik.

Védett erőforrások és ügyfélalkalmazások

A hitelesítési forgatókönyvek két tevékenységet foglalnak magukban:

Felhasználókkal vagy felhasználók nélkül

A legtöbb hitelesítési forgatókönyv hitelesítési tokent szerez be a bejelentkezett felhasználók nevében.

Forgatókönyvek felhasználókkal

Vannak azonban démonalkalmazások is. Ezekben az esetekben az alkalmazások jogkivonatokat szereznek be saját maguk nevében, felhasználó nélkül.

Forgatókönyvek démonalkalmazásokkal

Egyoldalas, nyilvános ügyfél- és bizalmas ügyfélalkalmazások

Többféle alkalmazás által szerezhetők be biztonsági tokenek. Ezeket az alkalmazásokat általában a következő három kategóriába sorolják. Mindegyik különböző kódtárakkal és objektumokkal használható.

  • Egyoldalas alkalmazások: Más néven SPA-k, ezek olyan webalkalmazások, amelyekben a jogkivonatokat a böngészőben futó JavaScript- vagy TypeScript-alkalmazás szerzi be. Számos modern alkalmazás előtérében egy egyoldalas alkalmazás található, amely elsősorban JavaScriptben íródott. Az alkalmazás gyakran használ olyan keretrendszert, mint az Angular, a React vagy a Vue. MSAL.js az egyetlen microsoftos hitelesítési kódtár, amely támogatja az egyoldalas alkalmazásokat.

  • Nyilvános ügyfélalkalmazások: Az ebbe a kategóriába tartozó alkalmazások, például a következő típusok, mindig bejelentkeznek a felhasználókba:

    • Asztali alkalmazások, amelyek webes API-kat hívnak meg a bejelentkezett felhasználók nevében
    • Mobilalkalmazások
    • Olyan eszközökön futó alkalmazások, amelyek nem rendelkeznek böngészővel, például az IoT-en futó alkalmazások
  • Bizalmas ügyfélalkalmazások: Az ebbe a kategóriába tartozó alkalmazások a következők:

    • Webes API-t hívó webalkalmazások
    • Web API-k, amelyek egy másik webes API-t hívnak.
    • Démonalkalmazások, még akkor is, ha konzolszolgáltatásként, például Linux-démonként vagy Windows-szolgáltatásként implementálva

Bejelentkezési közönség

A rendelkezésre álló hitelesítési folyamatok a bejelentkezési közönségtől függően eltérőek. Bizonyos folyamatok csak munkahelyi vagy iskolai fiókokkal érhetők el. Mások munkahelyi vagy iskolai fiókokhoz és személyes Microsoft-fiókokhoz is elérhetők.

További információ: Támogatott fióktípusok.

Alkalmazástípusok

A Microsoft Identitásplatform az alábbi alkalmazásarchitektúrák hitelesítését támogatja:

  • Egyoldalas alkalmazások
  • Webalkalmazások
  • Webes API-k
  • Mobilalkalmazások
  • Natív alkalmazások
  • Démonalkalmazások
  • Kiszolgálóoldali alkalmazások

Az alkalmazások a különböző hitelesítési folyamatokkal jelentkeztetik be a felhasználókat, és tokeneket kapnak a védett API-k meghívásához.

Egyoldalas alkalmazás

Számos modern webalkalmazás ügyféloldali egyoldalas alkalmazásként készült. Ezek az alkalmazások JavaScriptet vagy olyan keretrendszert használnak, mint az Angular, a Vue és a React. Ezek az alkalmazások webböngészőben futnak.

Az egyoldalas alkalmazások a hitelesítési jellemzők tekintetében eltérnek a hagyományos kiszolgálóoldali webalkalmazásoktól. A Microsoft identitásplatform használatával az egyoldalas alkalmazások bejelentkeztethetik a felhasználókat, és szerezhetnek engedélyeket a háttérszolgáltatásokhoz vagy a webes API-khoz való hozzáféréshez. A Microsoft Identitásplatform két támogatási típust kínál JavaScript-alkalmazásokhoz:

MSAL.js (2.x) MSAL.js (1.x)
Egyoldalas alkalmazás hitelesítése Egy implicit egyoldalas alkalmazás

Felhasználót bejelentkező webalkalmazás

Egy webalkalmazás, amely bejelentkezik egy felhasználóba

Egy felhasználó belépését lehetővé tevő webalkalmazás védelmére:

  • Ha .NET-ben fejleszt, ASP.NET vagy ASP.NET Core-t használ az ASP.NET OpenID Connect köztes szoftverrel. Az erőforrások védelme magában foglalja a biztonsági jogkivonat érvényesítését, amelyet a .NET IdentityModel bővítményei végeznek, nem pedig az MSAL-kódtárak esetében.

  • Ha Node.js-ben fejleszt, akkor az MSAL Node-ot használja.

További információ: Felhasználók bejelentkezése minta webalkalmazásban.

Webalkalmazás, amely bejelentkezik egy felhasználóba, és meghív egy webes API-t a felhasználó nevében

Webes API-kat hívó webalkalmazás

Ha webes API-t szeretne meghívni egy webalkalmazásból egy felhasználó nevében, használja az engedélyezési kód folyamatát, és tárolja a beszerzett jogkivonatokat a jogkivonat-gyorsítótárban. Szükség esetén az MSAL frissíti a jogkivonatokat, és a vezérlő csendesen beolvasja a jogkivonatokat a gyorsítótárból.

További információt a webes API-kat hívó webalkalmazásban talál.

Asztali alkalmazás, amely webes API-t hív meg egy bejelentkezett felhasználó nevében

Az asztali alkalmazásnak ahhoz, hogy bejelentkezéskor meghívjon egy webes API-t, az MSAL interaktív token-beszerzési módszereit kell használnia. Ezekkel az interaktív módszerekkel szabályozhatja a bejelentkezési felhasználói felület használatát. Az MSAL egy webböngészőt használ ehhez az interakcióhoz.

Webes API-t hívó asztali alkalmazás

Van egy másik lehetőség a Windows által üzemeltetett alkalmazásokra a Windows-tartományhoz vagy a Microsoft Entra-azonosítóhoz csatlakoztatott számítógépeken. Ezek az alkalmazások integrált Windows-hitelesítéssel jogkivonatot szerezhetnek be csendben.

A böngésző nélküli eszközön futó alkalmazások továbbra is meghívhatnak egy API-t a felhasználó nevében. A hitelesítéshez a felhasználónak be kell jelentkeznie egy másik, webböngészővel rendelkező eszközön. Ez a forgatókönyv megköveteli, hogy használja az eszköz kódfolyamatot.

Eszközkód-folyamat

Bár nem javasoljuk, hogy használja, a felhasználónév/jelszó folyamat elérhető a nyilvános ügyfélalkalmazásokban. Ez a folyamat továbbra is szükséges bizonyos forgatókönyvekben, például a DevOpsban.

A felhasználónév/jelszó folyamat használata korlátozza az alkalmazásokat, és már nem tekinthető biztonságosnak. Az alkalmazások például nem tudnak bejelentkezni olyan felhasználóba, akinek többtényezős hitelesítést vagy feltételes hozzáférési eszközt kell használnia a Microsoft Entra ID-ban. Az alkalmazásoknak az egyszeri bejelentkezés sem jár előnyökkel. A felhasználónévvel/jelszóval történő hitelesítés a modern hitelesítés alapelveivel ütközik, és csak örökölt okokból érhető el.

Asztali alkalmazásokban, ha szeretné, hogy a token gyorsítótára megmaradjon, testre szabhatja a token cache szerializálását. A kettős token-gyorsítótár szerializációjának bevezetésével visszafelé kompatibilis és előretekintőleg kompatibilis token-gyorsítótárakat használhat.

További információ: Webes API-kat hívó asztali alkalmazás.

Mobilalkalmazás, amely egy webes API-t hív meg egy interaktív felhasználó nevében

Az asztali alkalmazásokhoz hasonlóan egy mobilalkalmazás meghívja az MSAL interaktív jogkivonat-beszerzési módszereit egy webes API meghívásához szükséges jogkivonat beszerzéséhez.

Webes API-t hívó mobilalkalmazás

Az MSAL iOS és az MSAL Android alapértelmezés szerint a rendszer webböngészőt használja. Azonban a beágyazott webes nézet használatára is utasíthatja őket. Vannak olyan sajátosságok, amelyek a mobilplatformtól függenek: iOS vagy Android.

Egyes forgatókönyvek, például az eszközazonosítóhoz vagy az eszközregisztrációhoz kapcsolódó feltételes hozzáféréssel kapcsolatos forgatókönyvek esetében egy közvetítőt kell telepíteni az eszközön. A közvetítők közé tartoznak például a Microsoft Céges portál Androidon és a Microsoft Authenticator androidos és iOS rendszeren.

További információ: Webes API-kat hívó mobilalkalmazás.

Feljegyzés

Az MSAL iOS vagy MSAL Android rendszert használó mobilalkalmazások alkalmazásvédelmi szabályzatokat alkalmazhatnak rá. A szabályzatok például megakadályozhatják, hogy a felhasználó védett szöveget másoljon. A mobilalkalmazást az Intune felügyeli, és az Intune felügyelt alkalmazásként ismeri fel. További információt a Microsoft Intune App SDK áttekintésében talál.

Az Intune App SDK külön van az MSAL-kódtáraktól, és önállóan kommunikál a Microsoft Entra-azonosítóval.

Védett webes API

A Microsoft Identitásplatform végpont használatával biztonságossá teheti a webszolgáltatásokat, például az alkalmazás RESTful API-ját. A védett webes API-k meghívása hozzáférési jogkivonaton keresztül történik. A jogkivonat segít az API adatainak védelmében és a bejövő kérések hitelesítésében. A webes API hívója hozzáfűz egy hozzáférési jogkivonatot egy HTTP-kérés engedélyezési fejlécéhez.

Ha meg szeretné védeni a ASP.NET vagy ASP.NET Core webes API-t, ellenőrizze a hozzáférési jogkivonatot. Az ellenőrzéshez az ASP.NET JWT köztes szoftvert kell használnia. Az ellenőrzést a .NET-tár IdentityModel-bővítményei végzik, nem pedig a MSAL.NET.

További információ: Védett webes API.

Web API, amely egy felhasználó nevében egy másik webes API-t hív meg

Ahhoz, hogy a védett webes API meghívjon egy másik webes API-t egy felhasználó nevében, az alkalmazásnak jogkivonatot kell beszereznie az alsóbb rétegbeli webes API-hoz. Az ilyen hívásokat szolgáltatásközi hívásoknak is nevezik. A más webes API-kat meghívó webes API-knak egyéni gyorsítótár-szerializálást kell biztosítaniuk.

Egy másik webes API-t hívó webes API

További információért lásd a webes API-kat hívó webes API-t.

Démonalkalmazás, amely egy webes API-t hív meg a démon nevében

A hosszú ideig futó folyamatokkal rendelkező vagy felhasználói beavatkozás nélkül működő alkalmazásoknak is szükségük van a biztonságos webes API-k elérésére. Az ilyen alkalmazások az alkalmazás identitásával hitelesíthetik és lekérhetik a jogkivonatokat. Az alkalmazás egy titkos ügyfélkód vagy tanúsítvány használatával igazolja az identitását.

Olyan alkalmazásdémonokat írhat, amelyek a hívó alkalmazáshoz szereznek be jogkivonatot az MSAL ügyfél-hitelesítési módszereivel. Ezekhez a módszerekhez egy ügyfélkulcsra van szükség, amelyet hozzáad az alkalmazásregisztrációhoz a Microsoft Entra ID-ban. Az alkalmazás ezután megosztja a titkos kódot az úgynevezett démonnal. Ilyen titkos kódok például az alkalmazásjelszavak, a tanúsítványérvényesítés és az ügyfélmegfelelőség.

Más alkalmazások és API-k által hívott démonalkalmazás

További információ: Webes API-kat hívó Démonalkalmazás.

Forgatókönyvek és támogatott hitelesítési folyamatok

Hitelesítési folyamatokkal implementálhatja a jogkivonatokat kérő alkalmazásforgatókönyveket. Az alkalmazási forgatókönyvek és a hitelesítési folyamatok között nincs egy-az-egyhez való leképezés.

A tokenek beszerzését igénylő forgatókönyvek az OAuth 2.0 hitelesítési folyamatokhoz is kapcsolódnak. További információ: OAuth 2.0 és OpenID Connect protokollok a Microsoft Identitásplatform.

Forgatókönyv Részletes forgatókönyv – útmutató OAuth 2.0-folyamat és engedélyezés Célközönség
Egyoldalas alkalmazás hitelesítési kóddal Egyoldalas alkalmazás Engedélyezési kód a PKCE-vel Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure Active Directory B2C (Azure AD B2C)
Egyoldalas alkalmazás implicit módon Egyoldalas alkalmazás Implicit Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure Active Directory B2C (Azure AD B2C)
Felhasználót bejelentkeztető webalkalmazás Felhasználót bejelentkeztető webalkalmazás Engedélyezési kód Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C
Egy webes API-kat hívó webalkalmazás Webes API-kat hívó webalkalmazás Engedélyezési kód Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C
Webes API-kat hívó asztali alkalmazás Webes API-kat hívó asztali alkalmazás Interaktív a PKCE engedélyezési kódjával Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C
Integrált Windows-hitelesítés Munkahelyi vagy iskolai fiókok
Erőforrás-tulajdonos jelszava Munkahelyi vagy iskolai fiókok és Azure AD B2C
Böngésző nélküli alkalmazás Böngésző nélküli alkalmazás Eszközkód Munkahelyi vagy iskolai fiókok, személyes fiókok, de az Azure AD B2C nem
Webes API-kat hívó mobilalkalmazás Webes API-kat hívó mobilalkalmazás Interaktív a PKCE engedélyezési kódjával Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C
Erőforrás-tulajdonos jelszava Munkahelyi vagy iskolai fiókok és Azure AD B2C
Webes API-kat hívó démonalkalmazás Webes API-kat hívó démonalkalmazás Ügyfél-hitelesítő adatok Csak olyan alkalmazásengedélyek, amelyek nem rendelkeznek felhasználóval, és csak a Microsoft Entra-szervezetekben használatosak
Webes API-kat hívó webes API Webes API, amely más webes API-kat hív A nevében Munkahelyi vagy iskolai fiókok és személyes fiókok

Forgatókönyvek és támogatott platformok és nyelvek

A Microsoft Hitelesítési kódtárak több platformot is támogatnak:

  • .NET
  • .NET-keretrendszer
  • Java
  • JavaScript
  • macOS
  • Natív Android
  • Natív iOS
  • Node.js
  • Python

Különböző nyelveket is használhat az alkalmazások létrehozásához.

A következő táblázat Windows oszlopában a .NET minden említése esetén .NET-keretrendszer is lehetséges. Az utóbbi nincs megadva a táblázat zsúfoltságának elkerülése érdekében.

Forgatókönyv Windows Linux Mac iOS Android
Egyoldalas alkalmazás
Egyoldalas alkalmazás hitelesítése
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js MSAL.js MSAL.js
MSAL.js
Egyoldalas alkalmazás
Egyoldalas alkalmazás implicit
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js MSAL.js MSAL.js
MSAL.js
Felhasználót bejelentkeztető webalkalmazás
Felhasználókat bejelentkező webalkalmazás
ASP.NET Core
ASP.NET Core MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core MSAL-csomópont
MSAL-csomópont
Webes API-kat hívó webalkalmazás

Egy webes API-kat hívó webalkalmazás
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL node
MSAL-csomópont
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL node
MSAL-csomópont
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL node
MSAL-csomópont
Webes API-kat hívó asztali alkalmazás

Webes API-kat hívó asztali alkalmazás Eszközkód-folyamat
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python
MSAL-csomópont
MSAL-csomópont
iOS / Objective C vagy Swift MSAL.objc
Webes API-kat hívó mobilalkalmazás
Webes API-kat hívó mobilalkalmazás
UWP MSAL.NET iOS / Objective C vagy Swift MSAL.objc Android MSAL.Android
Démonalkalmazás
Démonalkalmazások
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
Webes API, amely más webes API-kat hív

Webes API-kat hívó webes API
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
.NET
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont
.NET
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL Node
MSAL-csomópont

További információ: Microsoft Identitásplatform hitelesítési kódtárak.

Következő lépések

A hitelesítésről további információt a következő témakörben talál: