Azure AD B2C: Hitelesítési protokollok

Az Azure Active Directory B2C (Azure AD B2C) két szabványos iparági protokoll támogatásával biztosítja az alkalmazások identitását szolgáltatásként: az OpenID Connectet és az OAuth 2.0-t. A szolgáltatás szabványoknak megfelelő, de a protokollok bármelyikének két implementációja apró eltéréseket mutathat.

Az útmutatóban szereplő információk akkor hasznosak, ha a kódot közvetlenül http-kérések küldésével és kezelésével írja meg, nem pedig nyílt forráskód kódtár használatával. Javasoljuk, hogy az egyes protokollok részleteinek megismerése előtt olvassa el ezt a lapot. Ha azonban már ismeri Azure AD B2C-t, közvetlenül a protokoll-referencia-útmutatókra léphet.

Az alapok

Minden Azure AD B2C-t használó alkalmazást regisztrálni kell a B2C-címtárban a Azure Portal. Az alkalmazásregisztrációs művelet során a rendszer összegyűjt bizonyos adatokat, majd értékeket rendel az alkalmazáshoz:

  • Application ID (Alkalmazásazonosító), amely egyedileg azonosítja az alkalmazást.

  • Átirányítási URI vagy csomagazonosító, amellyel vissza lehet irányítani a válaszokat az alkalmazásba.

  • Néhány más forgatókönyv-specifikus érték. További információkért olvassa el az alkalmazás regisztrálásának módját.

Az alkalmazás regisztrálása után a végpontnak küldött kérésekkel kommunikál Azure AD B2C-vel:

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/authorize
https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/token

Ha egyéni tartományt használ, cserélje le a elemet {tenant}.b2clogin.com az egyéni tartományra, például contoso.coma végpontokon.

Szinte az összes OAuth- és OpenID Connect-folyamatban négy fél vesz részt a cserében:

A négy OAuth 2.0-szerepkört bemutató ábra.

  • Az engedélyezési kiszolgáló a B2C-végpont Azure AD. Biztonságosan kezeli a felhasználói adatokkal és hozzáféréssel kapcsolatos adatokat. Emellett kezeli a folyamatokban részt vevő felek közötti bizalmi kapcsolatokat is. Feladata a felhasználó identitásának ellenőrzése, az erőforrásokhoz való hozzáférés biztosítása és visszavonása, valamint a jogkivonatok kiállítása. Identitásszolgáltatónak is nevezik.

  • Az erőforrás tulajdonosa általában a végfelhasználó. Ez az a fél, amely az adatok tulajdonosa, és rendelkezik azzal a hatáskörrel, hogy lehetővé tegye harmadik felek számára az adatokhoz vagy erőforrásokhoz való hozzáférést.

  • Az OAuth-ügyfél az Ön alkalmazása. Az alkalmazásazonosító azonosítja. Általában ez az a fél, akivel a végfelhasználók kommunikálnak. Jogkivonatokat is kér az engedélyezési kiszolgálótól. Az erőforrás tulajdonosának engedélyt kell adnia az ügyfélnek az erőforrás eléréséhez.

  • Az erőforrás-kiszolgáló az, ahol az erőforrás vagy az adatok találhatók. Megbízik az engedélyezési kiszolgálón az OAuth-ügyfél biztonságos hitelesítésében és engedélyezésében. Emellett tulajdonosi hozzáférési jogkivonatokat is használ az erőforrásokhoz való hozzáférés biztosításához.

Szabályzatok és felhasználói folyamatok

Azure AD B2C kiterjeszti a standard OAuth 2.0- és OpenID Connect-protokollokat szabályzatok bevezetésével. Ezek lehetővé teszik, hogy Azure AD B2C sokkal többet végezzen, mint az egyszerű hitelesítés és engedélyezés.

A leggyakoribb identitásfeladatok beállításához a Azure AD B2C portál előre definiált, konfigurálható szabályzatokat tartalmaz, úgynevezett felhasználói folyamatokat. A felhasználói folyamatok teljes mértékben leírják a fogyasztói identitást, beleértve a regisztrációt, a bejelentkezést és a profil szerkesztését. A felhasználói folyamatok felügyeleti felhasználói felületen határozhatók meg. Ezek egy speciális lekérdezési paraméterrel hajthatók végre a HTTP-hitelesítési kérésekben.

A szabályzatok és a felhasználói folyamatok nem az OAuth 2.0 és az OpenID Connect szabványos funkciói, ezért időt kell szánnia ezek megértésére. További információt a Azure AD B2C felhasználói folyamatának útmutatójában talál.

Tokenek

Az OAuth 2.0 és az OpenID Connect Azure AD B2C implementációja széles körben használja a tulajdonosi jogkivonatokat, beleértve a JSON webes jogkivonatként (JWT-ként) képviselt tulajdonosi jogkivonatokat is. A tulajdonosi jogkivonat egy egyszerű biztonsági jogkivonat, amely hozzáférést biztosít a tulajdonosnak egy védett erőforráshoz.

A tulajdonos bármely fél, aki be tudja mutatni a jogkivonatot. Azure AD B2C-nek először hitelesítenie kell egy felet, mielőtt tulajdonosi jogkivonatot kap. Ha azonban a szükséges lépések nem történnek meg a jogkivonat átvitelben és tárolásban való védelméhez, akkor azt egy nem kívánt fél elfoghatja és használhatja.

Egyes biztonsági jogkivonatok beépített mechanizmusokkal rendelkeznek, amelyek megakadályozzák a jogosulatlan felek használatát, de a tulajdonosi jogkivonatok nem rendelkeznek ezzel a mechanizmussal. Ezeket biztonságos csatornán kell szállítani, például egy átviteli rétegbeli biztonságot (HTTPS).

Ha a tulajdonosi jogkivonatot egy biztonságos csatornán kívül továbbítják, egy rosszindulatú fél egy közbeiktatott támadással megszerezheti a jogkivonatot, és jogosulatlan hozzáférést szerezhet egy védett erőforráshoz. Ugyanezek a biztonsági alapelvek érvényesek a tulajdonosi jogkivonatok későbbi használatra történő tárolásakor vagy gyorsítótárazásakor is. Mindig győződjön meg arról, hogy az alkalmazás biztonságos módon továbbítja és tárolja a tulajdonosi jogkivonatokat.

A tulajdonosi jogkivonatok további biztonsági szempontjaiért lásd: RFC 6750 5. szakasz.

A Azure AD B2C-ben használt különböző jogkivonattípusokról további információt a Azure AD B2C-token referenciájában talál.

Protokollok

Ha készen áll néhány példakérés áttekintésére, az alábbi oktatóanyagok egyikével kezdhet. Mindegyik egy adott hitelesítési forgatókönyvnek felel meg. Ha segítségre van szüksége annak meghatározásához, hogy melyik folyamat megfelelő Önnek, tekintse meg a Azure AD B2C használatával létrehozható alkalmazások típusait.