Egyoldalas alkalmazás regisztrálása az Azure Active Directory B2C-ben

Ahhoz, hogy az alkalmazások interakcióba lépnének az Azure Active Directory B2C-vel (Azure AD B2C), regisztrálniuk kell őket egy Ön által felügyelt bérlőben. Ez az útmutató bemutatja, hogyan regisztrálhat egy egyoldalas alkalmazást ("SPA") az Azure Portalon.

A hitelesítési lehetőségek áttekintése

Számos modern webalkalmazás ügyféloldali egyoldalas alkalmazásként (SPA- k) épülnek fel. A fejlesztők JavaScript vagy SPA-keretrendszer, például Angular, Vue és React használatával írják meg őket. Ezek az alkalmazások webböngészőben futnak, és eltérő hitelesítési jellemzőkkel rendelkeznek, mint a hagyományos kiszolgálóoldali webalkalmazások.

Az Azure AD B2C két lehetőséget biztosít arra, hogy az egyoldalas alkalmazások bejelentkezhessenek a felhasználókba, és jogkivonatokat szerezzenek be a háttérszolgáltatásokhoz vagy webes API-khoz való hozzáféréshez:

Engedélyezési kódfolyamat (PKCE-vel)

Az OAuth 2.0 engedélyezési kódfolyamat (PKCE-vel) lehetővé teszi az alkalmazás számára, hogy az azonosító jogkivonatokra vonatkozó engedélyezési kódot cseréljen a védett API-k meghívásához szükséges hitelesített felhasználó- és Hozzáférési jogkivonatok megjelenítésére. Emellett olyan frissítési jogkivonatokat is visszaad, amelyek hosszú távú hozzáférést biztosítanak az erőforrásokhoz a felhasználók nevében anélkül, hogy interakcióra lenne szükség a felhasználókkal.

Ez az ajánlott megközelítés. A korlátozott élettartamú frissítési jogkivonatok segítenek az alkalmazásnak alkalmazkodni a modern böngésző cookie-k adatvédelmi korlátaihoz, például a Safari ITP-hez.

A folyamat előnyeinek kihasználásához az alkalmazás használhatja az azt támogató hitelesítési kódtárat, például az MSAL.js-t.

Single-page applications-auth

Implicit engedélyezési folyamat

Egyes kódtárak, például az MSAL.js 1.x csak az implicit engedélyezési folyamatot támogatják, vagy az alkalmazások implicit folyamat használatára vannak implementálva. Ezekben az esetekben az Azure AD B2C támogatja az OAuth 2.0 implicit folyamatot. Az implicit engedélyezési folyamat lehetővé teszi az alkalmazás számára az azonosítók és az Access-jogkivonatok lekérését. Az engedélyezési kód folyamatától eltérően az implicit engedélyezési folyamat nem ad vissza frissítési jogkivonatot.

Single-page applications-implicit

Ez a hitelesítési folyamat nem tartalmaz olyan alkalmazásforgatókönyveket, amelyek platformfüggetlen JavaScript-keretrendszereket használnak, például az Electront és a React-Native-t. Ezek a forgatókönyvek további képességeket igényelnek a natív platformokkal való interakcióhoz.

Előfeltételek

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

  • Ha nem rendelkezik Azure AD B2C-bérlővel, hozzon létre egyet. Használhat egy meglévő Azure AD B2C-bérlőt.

Az SPA-alkalmazás regisztrálása

  1. Jelentkezzen be az Azure Portalra.

  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.

  3. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.

  4. Válassza a Alkalmazásregisztrációk, majd az Új regisztráció lehetőséget.

  5. Adja meg az alkalmazás nevét. Például spaapp1.

  6. A Támogatott fióktípusok csoportban válassza a Fiókok lehetőséget bármely identitásszolgáltatóban vagy szervezeti címtárban (a felhasználók felhasználói folyamatokkal való hitelesítéséhez)

  7. Az Átirányítási URI területen válassza az Egyoldalas alkalmazás (SPA) lehetőséget, majd írja be https://jwt.ms az URL-szövegmezőt.

    Az átirányítási URI az a végpont, ahová az engedélyezési kiszolgáló (ebben az esetben az Azure AD B2C) elküldi a felhasználót, miután befejezte a felhasználóval való interakciót. Az átirányítási URI-végpont a sikeres engedélyezéskor megkapja a hozzáférési jogkivonatot vagy az engedélyezési kódot. Éles alkalmazásokban ez általában egy nyilvánosan elérhető végpont, ahol az alkalmazás fut, például https://contoso.com/auth-response. Az útmutatóhoz hasonló tesztelési célokra beállíthatja azt egy Microsoft-tulajdonú webalkalmazásra https://jwt.ms, amely megjeleníti egy jogkivonat dekódolt tartalmát (a jogkivonat tartalma soha nem hagyja el a böngészőt). Az alkalmazásfejlesztés során hozzáadhatja azt a végpontot, ahol az alkalmazás helyileg figyel, például http://localhost:5000. A regisztrált alkalmazásokban bármikor hozzáadhat és módosíthat átirányítási URI-kat.

    Az átirányítási URI-kra a következő korlátozások vonatkoznak:

    • A válasz URL-címnek a sémával httpskell kezdődnie , kivéve, ha azt használja localhost.
    • A válasz URL-címe megkülönbözteti a kis- és nagybetűkre vonatkozó adatokat. Az esetnek meg kell egyeznie a futó alkalmazás URL-elérési útjának esetével. Ha például az alkalmazás az elérési út .../abc/response-oidcrészeként szerepel, ne adja meg .../ABC/response-oidc a válasz URL-címét. Mivel a webböngésző megkülönbözteti a kis- és nagybetűket, a kis- és nagybetűkkel társított .../abc/response-oidc cookie-k kizárhatók, ha a kis- és nagybetűket nem egyező URL-címre irányítják .../ABC/response-oidc át.
  8. Az Engedélyek csoportban jelölje be a Rendszergazdai hozzájárulás megadása a megnyitáshoz és az engedélyek offline_access jelölőnégyzetet.

  9. Válassza ki a pénztárgépet.

Az implicit folyamat engedélyezése

Ha az MSAL.js 1.3-as vagy korábbi verzióját használja az implicit engedélyezési folyamattal az SPA-alkalmazásban, vagy ha az alkalmazást felhasználói folyamat vagy egyéni szabályzat tesztelésére konfigurálja https://jwt.ms/ , engedélyeznie kell az implicit engedélyezési folyamatot az alkalmazásregisztrációban:

  1. A bal oldali menü Kezelés területén válassza a Hitelesítés lehetőséget.

  2. Az Implicit engedélyezési és hibrid folyamatok területen jelölje be az Access-jogkivonatokat (implicit folyamatokhoz) és az azonosító jogkivonatokat (implicit és hibrid folyamatokhoz).

  3. Válassza a Mentés parancsot.

Ha az alkalmazás MSAL.js 2.0 vagy újabb verziót használ, ne engedélyezze az implicit folyamat-engedélyezést, mivel az MSAL.js 2.0+ támogatja az engedélyezési kódfolyamatot a PKCE-vel.

Migrálás az implicit folyamatból

Ha már rendelkezik implicit folyamatot használó alkalmazással, javasoljuk, hogy migráljon az engedélyezési kódfolyamat használatára egy olyan keretrendszer használatával, amely támogatja azt, például az MSAL.js 2.0+.

Ha az alkalmazásregisztráció által képviselt összes éles spa az engedélyezési kódfolyamatot használja, tiltsa le az implicit engedélyezési folyamat beállításait az alábbiak szerint:

  1. A bal oldali menü Kezelés területén válassza a Hitelesítés lehetőséget.
  2. Az Implicit támogatás területen törölje a jelölést mind az Access-jogkivonatok, mind az azonosító jogkivonatok jelölőnégyzetei közül.
  3. Válassza a Mentés parancsot.

Az implicit folyamatot használó alkalmazások továbbra is működhetnek, ha az implicit folyamatot engedélyezve (bejelölve) hagyja.

További lépések

Megtudhatja, hogyan hozhat létre felhasználói folyamatokat az Azure Active Directory B2C-ben.