Hitelesítési folyamatok és alkalmazásforgatókönyvek

A Microsoft Identitásplatform különböző modern alkalmazásarchitektúrák hitelesítését támogatja. Az összes architektúra az OAuth 2.0 és az OpenID Connect iparági szabvány szerinti protokollokon alapul. A Microsoft Identitásplatform hitelesítési kódtáraival 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 jogkivonatok többféle alkalmazásbó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 amelyek az Eszközök internetes hálózatán (IoT) futnak.

Az alábbi 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:

  • Biztonsági jogkivonatok beszerzése védett webes API-hoz: Javasoljuk, hogy használja a Microsoft által fejlesztett és támogatott Microsoft Authentication Library (MSAL) eszközt.
  • Webes API vagy webalkalmazás védelme: Az erőforrások védelmének egyik kihívása a biztonsági jogkivonat érvényesítése. Egyes platformokon a Microsoft köztes szoftvertárakat kínál.

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

A legtöbb hitelesítési forgatókönyv jogkivonatokat 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

A biztonsági jogkivonatok több alkalmazástípussal is beszerezhetők. 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 egy böngészőben futó JavaScript- vagy TypeScript-alkalmazás szerzi be. Számos modern alkalmazás rendelkezik egy egyoldalas alkalmazással az előtéren, amelyet elsősorban JavaScriptben írnak. Az alkalmazás gyakran használ keretrendszert, például Angular, React vagy 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 ebben a kategóriában lévő 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-n 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
    • Webes API-kat hívó webes API-k
    • 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. Egyes folyamatok csak munkahelyi vagy iskolai fiókokhoz é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áshasználati helyzetek

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 jelentkeznek be a felhasználókba, és jogkivonatokat 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 a 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. Az Microsoft Identitásplatform használatával az egyoldalas alkalmazások bejelentkezhetnek a felhasználókba, és jogkivonatokat szerezhetnek be a háttérszolgáltatásokhoz vagy webes API-khoz való hozzáféréshez. A Microsoft Identitásplatform két támogatási típust kínál a JavaScript-alkalmazásokhoz:

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

Felhasználót bejelentkező webalkalmazás

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

A felhasználót bejelentkező webalkalmazás védelmének elősegítése:

  • Ha a .NET-ben fejleszt, ASP.NET vagy ASP.NET Core használ a 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 , és nem az MSAL-kódtárak.

  • Ha Node.js fejleszt, az MSAL-csomópontot használja.

További információ: A felhasználókat bejelentkező webalkalmazás.

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 egy webalkalmazásból egy felhasználó nevében szeretne meghívni egy webes API-t, használja az engedélyezési kód folyamatát, és tárolja a megszerzett jogkivonatokat a jogkivonat-gyorsítótárban. Szükség esetén az MSAL frissíti a jogkivonatokat, és a vezérlő csendesen jogkivonatokat szerez be a gyorsítótárból.

További információ: Webalkalmazás, amely webes API-kat hív meg.

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

Ahhoz, hogy egy asztali alkalmazás meghívjon egy olyan webes API-t, amely bejelentkezik a felhasználókba, használja az MSAL interaktív jogkivonat-beszerzési módszereit. 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

Egy másik lehetőség a Windows által üzemeltetett alkalmazásokra a Windows-tartományhoz vagy az Azure Active Directoryhoz (Azure AD) csatlakoztatott számítógépeken. Ezek az alkalmazások csendesen beszerezhetnek egy jogkivonatot integrált Windows-hitelesítéssel.

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. Ehhez a forgatókönyvhez az eszköz kódfolyamatát kell használnia.

Eszközkód folyamata

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 bizonyos forgatókönyvekben, például a DevOpsban is szükség van erre a folyamatra.

A felhasználónév/jelszó folyamat használata korlátozza az alkalmazásokat. Az alkalmazások például nem jelentkezhetnek be olyan felhasználóba, akinek többtényezős hitelesítést vagy feltételes hozzáférési eszközt kell használnia Azure AD. Az alkalmazások számára az egyszeri bejelentkezés sem előnyös. A felhasználónév/jelszó folyamattal történő hitelesítés a modern hitelesítés alapelveivel ellentétes, és csak örökölt okokból érhető el.

Asztali alkalmazásokban, ha azt szeretné, hogy a jogkivonat-gyorsítótár megmaradjon, testre szabhatja a jogkivonat-gyorsítótár szerializálását. A kettős jogkivonat-gyorsítótár szerializálásának implementálásával visszamenőlegesen kompatibilis és előre kompatibilis jogkivonat-gyorsítótárakat használhat. Ezek a jogkivonatok támogatják a hitelesítési kódtárak korábbi generációit. Bizonyos kódtárak közé tartozik Azure AD Hitelesítési kódtár a .NET-hez (ADAL.NET) 3- és 4-es verzió.

További információ: Webes API-kat meghí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. A mobilplatformtól függő sajátosságok: Univerzális Windows-platform (UWP), 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 közvetítőt kell telepíteni az eszközre. 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. Az MSAL mostantól együttműködik a közvetítőkkel. A közvetítőkkel kapcsolatos további információkért lásd: Közvetítők használata Androidon és iOS-en.

További információ: Mobilalkalmazás, amely webes API-kat hív meg.

Megjegyzés

MSAL.iOS- és MSAL-t használó mobilalkalmazás. Az Android vagy a Xamarin MSAL.NET alkalmazásvédelmi szabályzatokat alkalmazhat rá. A szabályzatok például megakadályozhatják, hogy egy felhasználó védett szöveget másoljon. A mobilalkalmazást a Intune kezeli, és a Intune felügyelt alkalmazásként ismeri fel. További információ: Microsoft Intune App SDK áttekintése.

A Intune App SDK elkülönül az MSAL-kódtáraktól, és önállóan kommunikál a Azure AD.

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 a JWT köztes szoftver ASP.NET kell használnia. Az ellenőrzést a .NET-kódtá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 hív meg egy másik webes API-t

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 hí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ót a webes API-kat meghívó webes API-k című témakörben talál.

Démonalkalmazás, amely meghív egy webes API-t 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 ügyfélkód vagy tanúsítvány használatával bizonyítja az identitását.

Olyan démonalkalmazásokat írhat, amelyek jogkivonatot szereznek be a hívó alkalmazáshoz az ügyfél hitelesítő adatainak beszerzésére szolgáló módszerekkel az MSAL-ben. Ezekhez a metódusokhoz egy ügyfélkódra van szükség, amelyet hozzáad az alkalmazásregisztrációhoz a Azure AD. 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él-érvényesítés.

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

További információt a webes API-kat meghívó Démonalkalmazás című témakörben talál.

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

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

A jogkivonatok beszerzésével járó forgatókönyvek az OAuth 2.0 hitelesítési folyamatait is leképezik. További információ: OAuth 2.0 és OpenID Connect protokollok a Microsoft Identitásplatform.

Eset 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
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 az engedélyezési kód és a PKCE használatá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 Eszközkód Munkahelyi vagy iskolai fiókok, személyes fiókok, de nem Azure AD B2C
Webes API-kat hívó mobilalkalmazás Webes API-kat hívó mobilalkalmazás Interaktív az engedélyezési kód és a PKCE használatá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
Démonalkalmazás, amely webes API-kat hív meg Démonalkalmazás, amely webes API-kat hív meg Ügyfél-hitelesítő adatok Csak olyan alkalmazásengedélyek, amelyek nem rendelkeznek felhasználóval, és csak Azure AD szervezetekben használatosak
Webes API-kat hívó webes API Webes API-kat hívó webes API 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 Core
  • .NET-keretrendszer
  • Java
  • JavaScript
  • macOS
  • Natív Android
  • Natív iOS
  • Node.js
  • Python
  • Windows 10/UWP
  • Xamarin.iOS
  • Xamarin.Android

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

Az alábbi táblázat Windows oszlopában a .NET Core 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.

Eset 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

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-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL-csomópont
MSAL-csomópont
Webes API-kat hívó asztali alkalmazás

Webes API-kat meghívó asztali alkalmazásEszközkód-folyamat
.NET CoreMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET CoreMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET CoreMSAL.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 Xamarin MSAL.NET iOS/ Objective C vagy swift MSAL.objc Android MSAL. Android
Démonalkalmazások
Démonalkalmazások
.NET CoreMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET Core MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET CoreMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
Webes API-kat hívó webes API

Webes API-kat hívó webes API
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
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: