OAuth 2.0 és OpenID Csatlakozás (OIDC) a Microsoft Identitásplatform

Az OAuth vagy az OpenID Csatlakozás (OIDC) protokollszintű ismerete nem szükséges a Microsoft Identitásplatform használatához. Az identitásplatform használatával azonban találkozhat a protokoll feltételeivel és fogalmaival, hogy hitelesítést adjon hozzá az alkalmazásokhoz. A Microsoft Entra felügyeleti központtal, a dokumentációval és a hitelesítési kódtárakkal való együttműködés során az alapvető adatok ismerete segítheti az integrációt és az általános élményt.

Szerepkörök az OAuth 2.0-ban

Általában négy fél vesz részt az OAuth 2.0 és az OpenID Csatlakozás hitelesítési és engedélyezési cseréjében. Ezeket az exchange-eket gyakran nevezik hitelesítési folyamatoknak vagy hitelesítési folyamatoknak.

Diagram showing the OAuth 2.0 roles

  • Engedélyezési kiszolgáló – A Microsoft Identitásplatform az engedélyezési kiszolgáló. Identitásszolgáltatónak vagy identitásszolgáltatónak is nevezik, biztonságosan kezeli a végfelhasználó adatait, azok hozzáférését és a hitelesítési folyamatban részt vevő felek közötti megbízhatósági kapcsolatokat. Az engedélyezési kiszolgáló kiadja az alkalmazások és API-k által az erőforrásokhoz való hozzáférés (engedélyezés) engedélyezéséhez, megtagadásához vagy visszavonásához használt biztonsági jogkivonatokat, miután a felhasználó bejelentkezett (hitelesített).

  • Ügyfél – Az OAuth-exchange-ügyfél az az alkalmazás, amely hozzáférést kér egy védett erőforráshoz. Az ügyfél lehet egy kiszolgálón futó webalkalmazás, egy felhasználó webböngészőjében futó egyoldalas webalkalmazás vagy egy másik webes API-t meghívó webes API. Gyakran megjelenik az ügyfélalkalmazásnak, alkalmazásnak vagy alkalmazásnak nevezett ügyfél.

  • Erőforrás-tulajdonos – A hitelesítési folyamat erőforrás-tulajdonosa általában az alkalmazás felhasználója, vagy az OAuth terminológiájának végfelhasználója. A végfelhasználó "birtokolja" a védett erőforrást (az adataikat), amelyet az alkalmazás a nevükben ér el. Az erőforrás tulajdonosa hozzáférést adhat az alkalmazásnak (az ügyfélnek) a saját erőforrásaihoz. Előfordulhat például, hogy az alkalmazás meghív egy külső rendszer API-ját, hogy lekérje a felhasználó e-mail-címét a rendszer profiljából. Profiladataik egy olyan erőforrás, amely a végfelhasználó tulajdonában van a külső rendszeren, és a végfelhasználó jóváhagyhatja vagy megtagadhatja az alkalmazás adataihoz való hozzáférésre vonatkozó kérését.

  • Erőforrás-kiszolgáló – Az erőforrás-kiszolgáló üzemelteti vagy hozzáférést biztosít egy erőforrás-tulajdonos adataihoz. Az erőforrás-kiszolgáló leggyakrabban egy adattárat kezelő webes API. Az erőforrás-kiszolgáló az engedélyezési kiszolgálóra támaszkodik a hitelesítés végrehajtásához, és az engedélyezési kiszolgáló által kibocsátott tulajdonosi jogkivonatokban lévő információkat használja az erőforrásokhoz való hozzáférés engedélyezéséhez vagy megtagadásához.

Tokenek

A hitelesítési folyamatban részt vevő felek tulajdonosi jogkivonatokkal biztosítják, ellenőrzik és hitelesítik az egyszerű felhasználókat (felhasználót, gazdagépet vagy szolgáltatást), valamint hozzáférést biztosítanak vagy megtagadnak a védett erőforrásokhoz (engedélyezés). A Microsoft Identitásplatform tulajdonosi jogkivonatai JSON webes jogkivonatként (JWT) vannak formázva.

Az identitásplatform háromféle tulajdonosi jogkivonatot használ biztonsági jogkivonatként:

  • Hozzáférési jogkivonatok – A hozzáférési jogkivonatokat az engedélyezési kiszolgáló állítja ki az ügyfélalkalmazás számára. Az ügyfél hozzáférési jogkivonatokat ad át az erőforrás-kiszolgálónak. A hozzáférési jogkivonatok tartalmazzák azokat az engedélyeket, amelyeket az ügyfél az engedélyezési kiszolgálótól kapott.

  • Azonosító jogkivonatok – Az azonosító jogkivonatokat az engedélyezési kiszolgáló bocsátja ki az ügyfélalkalmazásnak. Az ügyfelek azonosító jogkivonatokat használnak a felhasználók bejelentkezésekor, és alapvető információkat kapnak róluk.

  • Frissítési jogkivonatok – Az ügyfél egy frissítési jogkivonatot vagy RT-t használ az új hozzáférési és azonosító jogkivonatok lekéréséhez az engedélyezési kiszolgálótól. A kódnak bizalmas adatként kell kezelnie a frissítési jogkivonatokat és a sztringtartalmakat, mert csak az engedélyezési kiszolgáló használja őket.

Alkalmazásregisztráció

Az ügyfélalkalmazásnak meg kell bíznia a Microsoft Identitásplatform által kiadott biztonsági jogkivonatokban. A megbízhatóság létrehozásának első lépése az alkalmazás regisztrálása. Az alkalmazás regisztrálásakor az identitásplatform automatikusan hozzárendel bizonyos értékeket, míg mások az alkalmazás típusa alapján konfigurálhatók.

Két leggyakrabban hivatkozott alkalmazásregisztrációs beállítás:

  • Alkalmazás (ügyfél) azonosítója – Más néven alkalmazásazonosító és ügyfélazonosító, ezt az értéket az identitásplatform rendeli hozzá az alkalmazáshoz. Az ügyfélazonosító egyedileg azonosítja az alkalmazást az identitásplatformon, és szerepel a platformmal kapcsolatos biztonsági jogkivonatokban.
  • Átirányítási URI – Az engedélyezési kiszolgáló átirányítási URI használatával irányítja az erőforrás-tulajdonos felhasználói ügynökét (webböngésző, mobilalkalmazás) egy másik helyre az interakció befejezése után. Ha például a végfelhasználó hitelesíti magát az engedélyezési kiszolgálóval. Nem minden ügyféltípus használ átirányítási URI-kat.

Az alkalmazás regisztrációja a kódban használt hitelesítési és engedélyezési végpontokról is tartalmaz információkat az azonosítók és a hozzáférési jogkivonatok lekéréséhez.

Végpontok

A Microsoft Identitásplatform az OAuth 2.0 és az OpenID Csatlakozás (OIDC) 1.0 szabványnak megfelelő implementációinak használatával nyújt hitelesítési és engedélyezési szolgáltatásokat. Az olyan szabványoknak megfelelő engedélyezési kiszolgálók, mint az identitásplatform, HTTP-végpontok készletét biztosítják, amelyeket a felek egy hitelesítési folyamatban használnak a folyamat végrehajtásához.

Az alkalmazás végponti URI-jai automatikusan létrejönnek az alkalmazás regisztrálása vagy konfigurálása során. Az alkalmazás kódjában használt végpontok az alkalmazás típusától és az általa támogatott identitásoktól (fióktípusoktól) függenek.

Két gyakran használt végpont az engedélyezési végpont és a jogkivonat végpontja. Íme néhány példa a végpontokra és token a authorize végpontokra:

# Authorization endpoint - used by client to obtain authorization from the resource owner.
https://login.microsoftonline.com/<issuer>/oauth2/v2.0/authorize
# Token endpoint - used by client to exchange an authorization grant or refresh token for an access token.
https://login.microsoftonline.com/<issuer>/oauth2/v2.0/token

# NOTE: These are examples. Endpoint URI format may vary based on application type,
#       sign-in audience, and Azure cloud instance (global or national cloud).

#       The {issuer} value in the path of the request can be used to control who can sign into the application. 
#       The allowed values are **common** for both Microsoft accounts and work or school accounts, 
#       **organizations** for work or school accounts only, **consumers** for Microsoft accounts only, 
#       and **tenant identifiers** such as the tenant ID or domain name.

Ha meg szeretné keresni egy regisztrált alkalmazás végpontjait, a Microsoft Entra Felügyeleti központban keresse meg a következőt:

Identitásalkalmazások>> Alkalmazásregisztrációk<> YOUR-APPLICATION>>végpontok

Következő lépések

Ezután megismerheti az egyes alkalmazástípusok által használt OAuth 2.0 hitelesítési folyamatokat, valamint az alkalmazásokban használható kódtárakat:

Határozottan javasoljuk, hogy saját kódtárat vagy nyers HTTP-hívásokat készítsen a hitelesítési folyamatok végrehajtásához. A Microsoft Authentication Library biztonságosabb és egyszerűbb. Ha azonban a forgatókönyv megakadályozza a kódtárak használatát, vagy csak többet szeretne megtudni a Microsoft Identitásplatform implementálásáról, protokollhivatkozásunk van: