Munkamenet viselkedésének konfigurálása az Azure Active Directory B2C-ben

Mielőtt hozzákezdene, a Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Az egyszeri bejelentkezés (SSO) biztonságot és kényelmet nyújt, ha a felhasználók az Azure Active Directory B2C(Azure AD B2C) alkalmazásaiban jelentkeznek be. Ez a cikk az Azure AD B2C-ben használt egyszeri bejelentkezési módszereket ismerteti, és segít kiválasztani a legmegfelelőbb egyszeri bejelentkezést a szabályzat konfigurálásakor.

Az egyszeri bejelentkezéssel a felhasználók egyszeri bejelentkezéssel jelentkezhetnek be egyetlen fiókkal, és több alkalmazáshoz is hozzáférhetnek. Az alkalmazás lehet web-, mobil- vagy egyoldalas alkalmazás, platformtól vagy tartománynévtől függetlenül.

Amikor a felhasználó először bejelentkezik egy alkalmazásba, az Azure AD B2C egy cookie-alapú munkamenetet őriz meg. A későbbi hitelesítési kérések esetén az Azure AD B2C beolvassa és ellenőrzi a cookie-alapú munkamenetet, és hozzáférési jogkivonatot ad ki anélkül, hogy a felhasználó ismételt bejelentkezésre kéri. Ha a cookie-alapú munkamenet lejár vagy érvénytelenné válik, a rendszer kéri a felhasználót, hogy jelentkezzen be újra.

Előfeltételek

Az Azure AD B2C-munkamenet áttekintése

Az Azure AD B2C-vel való integráció háromféle SSO-munkamenetet foglal magában:

  • Azure AD B2C – Az Azure AD B2C által felügyelt munkamenet
  • Összevont identitásszolgáltató – Az identitásszolgáltató által felügyelt munkamenet, például Facebook, Salesforce vagy Microsoft-fiók
  • Alkalmazás – Web-, mobil- vagy egyoldalas alkalmazás által felügyelt munkamenet

SSO session

Azure AD B2C-munkamenet

Ha egy felhasználó sikeresen hitelesít egy helyi vagy közösségi fiókkal, az Azure AD B2C egy cookie-alapú munkamenetet tárol a felhasználó böngészőjében. A cookie-t az Azure AD B2C-bérlő tartományneve tárolja, például https://contoso.b2clogin.com.

Amikor egy felhasználó összevont fiókkal jelentkezik be, elindul egy munkamenet-időablak, más néven az élettartam (TTL). Ha a felhasználó ugyanarra vagy egy másik alkalmazásra jelentkezik be ebben a TTL-ben, az Azure AD B2C megpróbál új hozzáférési jogkivonatot beszerezni az összevont identitásszolgáltatótól. Ha az összevont identitásszolgáltató munkamenete lejárt vagy érvénytelen, az összevont identitásszolgáltató kéri a felhasználótól a hitelesítő adatait. Ha a felhasználó munkamenete folyamatban van, vagy ha a felhasználó összevont fiók helyett helyi fiókkal van bejelentkezve, az Azure AD B2C engedélyezi a felhasználót, és megakadályozza a további kéréseket.

Konfigurálhatja a munkamenet viselkedését, beleértve a munkamenet TTL-ét, valamint azt, hogy az Azure AD B2C hogyan osztja meg a munkamenetet a szabályzatok és alkalmazások között.

Összevont identitásszolgáltatói munkamenet

A közösségi vagy vállalati identitásszolgáltató saját munkamenetet kezel. A cookie-t az identitásszolgáltató tartományneve tárolja, például https://login.salesforce.com. Az Azure AD B2C nem szabályozza az összevont identitásszolgáltató munkamenetét. Ehelyett a munkamenet viselkedését az összevont identitásszolgáltató határozza meg.

Vegyük például a következő esetet:

  1. A felhasználó bejelentkezik a Facebookra, hogy ellenőrizze a hírcsatornáját.
  2. Később a felhasználó megnyitja az alkalmazást, és elindítja a bejelentkezési folyamatot. Az alkalmazás átirányítja a felhasználót az Azure AD B2C-be a bejelentkezési folyamat befejezéséhez.
  3. Az Azure AD B2C regisztrációs vagy bejelentkezési oldalán a felhasználó úgy dönt, hogy a Facebook-fiókjával jelentkezik be. A rendszer átirányítja a felhasználót a Facebookra. Ha aktív munkamenet van a Facebookon, a felhasználó nem kéri a hitelesítő adataik megadását, és a rendszer azonnal átirányítja az Azure AD B2C-be egy Facebook-jogkivonattal.

Alkalmazás munkamenete

Egy OAuth2 hozzáférési jogkivonat, azonosító jogkivonat vagy SAML-jogkivonat védelmet nyújthat egy webes, mobil vagy egyoldalas alkalmazásnak. Amikor egy felhasználó megpróbál hozzáférni egy védett erőforráshoz az alkalmazásban, az alkalmazás ellenőrzi, hogy van-e aktív munkamenet az alkalmazás oldalán. Ha az alkalmazás munkamenete nem létezik, vagy a munkamenet lejár, az alkalmazás átirányítja a felhasználót az Azure AD B2C bejelentkezési oldalára.

Az alkalmazás munkamenete lehet egy cookie-alapú munkamenet, amely az alkalmazás tartományneve alatt van tárolva, például https://contoso.com. A mobilalkalmazások eltérő módon, de hasonló módon tárolhatják a munkamenetet.

Az Azure AD B2C-munkamenet viselkedésének konfigurálása

Konfigurálhatja az Azure AD B2C-munkamenet viselkedését, beleértve a következőket:

  • Webalkalmazás-munkamenet élettartama (perc) – Az Azure AD B2C munkamenet cookie-jának tárolása a felhasználó böngészőjében a sikeres hitelesítés után. A munkamenet élettartama legfeljebb 24 óra lehet.

  • Webalkalmazás munkamenetének időtúllépése – Azt jelzi, hogy a munkamenetek hogyan hosszabbulnak meg a munkamenet élettartamának beállításával vagy a Be van jelentkezve (KMSI) beállítással.

    • Működés közben – Azt jelzi, hogy a munkamenet minden alkalommal meghosszabbodik, amikor a felhasználó cookie-alapú hitelesítést végez (alapértelmezett).
    • Abszolút – Azt jelzi, hogy a felhasználónak a megadott idő elteltével újra meg kell ismételnie a hitelesítést.
  • Egyszeri bejelentkezési konfiguráció – Az Azure AD B2C-munkamenet a következő hatókörökkel konfigurálható:

    • Bérlő – Ez a beállítás az alapértelmezett beállítás. Ezzel a beállítással több alkalmazás és felhasználói folyamat is megosztható a B2C-bérlőben ugyanazon a felhasználói munkameneten. Ha például egy felhasználó bejelentkezik egy alkalmazásba, a felhasználó a hozzáféréskor zökkenőmentesen bejelentkezhet egy másikba is.
    • Alkalmazás – Ez a beállítás lehetővé teszi, hogy a felhasználói munkamenetet kizárólag egy alkalmazáshoz tartsa karban, más alkalmazásoktól függetlenül. Ezt a beállítást például akkor használhatja, ha azt szeretné, hogy a felhasználó jelentkezzen be a Contoso Gyógyszertárba, függetlenül attól, hogy a felhasználó már bejelentkezett-e a Contoso Groceries szolgáltatásba.
    • Házirend – Ez a beállítás lehetővé teszi, hogy a felhasználói munkameneteket kizárólag egy felhasználói folyamat számára tarthassa fenn, függetlenül az azt használó alkalmazásoktól. Az Azure AD B2C például több alkalmazás magasabb biztonsági részeihez biztosít hozzáférést, ha a felhasználó már bejelentkezett, és végrehajtott egy többtényezős hitelesítési (MFA) lépést. Ez a hozzáférés addig folytatódik, amíg a felhasználói folyamathoz társított munkamenet aktív marad.
    • Letiltva – Ez a beállítás arra kényszeríti a felhasználót, hogy a szabályzat minden végrehajtásakor végigfuttassa a teljes felhasználói folyamatot.

A felhasználói folyamat konfigurálása

A felhasználói folyamat munkamenet-viselkedésének konfigurálásához kövesse az alábbi lépéseket:

  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. Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
  4. Válassza ki a felhasználói folyamatokat.
  5. Nyissa meg a korábban létrehozott felhasználói folyamatot.
  6. Válassza ki a tulajdonságokat.
  7. Konfigurálja a webalkalmazás munkamenetének élettartamát (perc), a webalkalmazás munkamenetének időtúllépését, az egyszeri bejelentkezés konfigurálását és az azonosító jogkivonat megkövetelését a bejelentkezési kérelmekben, ha szükséges.
  8. Kattintson a Mentés gombra.

Az egyéni szabályzat konfigurálása

A munkamenet viselkedésének egyéni szabályzatban való konfigurálásához kövesse az alábbi lépéseket:

  1. Nyissa meg a függő entitásfájlt (RP), például SignUpOrSignin.xml

  2. Ha még nem létezik, adja hozzá a következő <UserJourneyBehaviors> elemet az <RelyingParty> elemhez. Közvetlenül utána <DefaultUserJourney ReferenceId="UserJourney Id"/>kell lennie.

    <UserJourneyBehaviors>
      <SingleSignOn Scope="Application" />
      <SessionExpiryType>Absolute</SessionExpiryType>
      <SessionExpiryInSeconds>86400</SessionExpiryInSeconds>
    </UserJourneyBehaviors>
    

    A felhasználói folyamat viselkedési elemeinek hozzáadása után az RelyingParty elemnek az alábbi példához hasonlóan kell kinéznie:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <UserJourneyBehaviors>
        <SingleSignOn Scope="Application" />
        <SessionExpiryType>Absolute</SessionExpiryType>
        <SessionExpiryInSeconds>86400</SessionExpiryInSeconds>
      </UserJourneyBehaviors>
      <TechnicalProfile Id="PolicyProfile">
        <DisplayName>PolicyProfile</DisplayName>
        <Protocol Name="OpenIdConnect" />
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="displayName" />
          <OutputClaim ClaimTypeReferenceId="givenName" />
          ...
        </OutputClaims>
        <SubjectNamingInfo ClaimType="sub" />
      </TechnicalProfile>
    </RelyingParty>
    
  3. Módosítsa az Scope attribútum értékét az egyik lehetséges értékre: Suppressed, Tenant, Applicationvagy Policy. További információt a RelyingParty referenciacikkében talál.

  4. Állítsa be az elemet a SessionExpiryType következőre Rolling : vagy Absolute. További információt a RelyingParty referenciacikkében talál.

  5. Állítsa az SessionExpiryInSeconds elemet numerikus értékre 900 másodperc (15 perc) és 86 400 másodperc (24 óra) között. További információt a RelyingParty referenciacikkében talál.

Bejelentkezés engedélyezése (KMSI)

Engedélyezheti a KMSI funkciót a webes és natív alkalmazások azon felhasználói számára, akik helyi fiókkal rendelkeznek az Azure AD B2C-címtárban. Ha engedélyezi a funkciót, a felhasználók úgy dönthetnek, hogy bejelentkezve maradnak, így a munkamenet aktív marad a böngésző bezárása után. A munkamenet egy állandó cookie beállításával tartható fenn. A KMSI-t választó felhasználók anélkül nyithatják meg újra a böngészőt, hogy a felhasználónevüket és jelszavukat újra meg kell adniuk. Ezt a hozzáférést (az állandó cookie-t) a rendszer visszavonja, amikor egy felhasználó kijelentkezik. További információkért tekintse meg az Élő bemutatót.

Example sign-up sign-in page showing a Keep me signed in checkbox

A KMSI az egyes felhasználói folyamatok szintjén konfigurálható. Mielőtt engedélyezi a KMSI-t a felhasználói folyamatokhoz, fontolja meg a következőket:

  • A KMSI csak a regisztrációs és bejelentkezési (SUSI), bejelentkezési és profilszerkesztési felhasználói folyamatok ajánlott verzióiban támogatott. Ha jelenleg standard (örökölt) vagy örökölt előzetes verzióval rendelkezik – ezeknek a felhasználói folyamatoknak a 2. verziójú verziója, és engedélyezni szeretné a KMSI-t, létre kell hoznia ezeknek a felhasználói folyamatoknak az új, ajánlott verzióit.
  • A KMSI nem támogatott jelszó-visszaállítással vagy regisztrációs felhasználói folyamatokkal.
  • Ha engedélyezni szeretné a KMSI-t a bérlő összes alkalmazásához, javasoljuk, hogy engedélyezze a KMSI-t a bérlő összes felhasználói folyamatához. Mivel egy felhasználó több szabályzattal is rendelkezhet egy munkamenet során, előfordulhat, hogy olyannal találkozik, amely nem rendelkezik engedélyezve a KMSI-vel, ami eltávolítja a KMSI-cookie-t a munkamenetből.
  • A KMSI-t nem szabad engedélyezni a nyilvános számítógépeken.

KMSI konfigurálása felhasználói folyamathoz

A KMSI engedélyezése a felhasználói folyamathoz:

  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. Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.

  4. Felhasználói folyamatok (szabályzatok) kiválasztása.

  5. Nyissa meg a korábban létrehozott felhasználói folyamatot.

  6. Válassza ki a tulajdonságokat.

  7. A Munkamenet viselkedése csoportban válassza az Engedélyezés, hogy bejelentkezve legyek a munkamenetbe. A munkamenetben (napok) való bejelentkezés megtartása mellett adjon meg egy 1 és 90 közötti értéket, amely megadja, hogy egy munkamenet hány napig maradhat nyitva.

    Enable keep me signed in session

A felhasználók nem engedélyezhetik ezt a beállítást a nyilvános számítógépeken.

Az oldalazonosító konfigurálása

A KMSI engedélyezéséhez állítsa a tartalomdefiníciós DataUri elemet oldalazonosítóra unifiedsspés az oldal 1.1.0-s vagy újabb verziójára.

  1. Nyissa meg a szabályzat bővítményfájlját. For example, SocialAndLocalAccounts/TrustFrameworkExtensions.xml. Ez a bővítményfájl az egyéni szabályzatok kezdőcsomagjának egyik szabályzatfájlja, amelyet az előfeltételben, az egyéni szabályzatok használatának első lépéseiben szerezhet be.

  2. Keresse meg a BuildingBlocks elemet. Ha az elem nem létezik, adja hozzá.

  3. Adja hozzá a ContentDefinitions elemet a szabályzat BuildingBlocks eleméhez.

    Az egyéni szabályzatnak a következő kódrészlethez hasonlóan kell kinéznie:

    <BuildingBlocks>
      <ContentDefinitions>
        <ContentDefinition Id="api.signuporsignin">
          <DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0</DataUri>
        </ContentDefinition>
      </ContentDefinitions>
    </BuildingBlocks>
    

Metaadatok hozzáadása az önérvényesített műszaki profilhoz

Ha hozzá szeretné adni a KMSI jelölőnégyzetet a regisztrációs és bejelentkezési laphoz, állítsa a setting.enableRememberMe metaadatokat igaz értékre. Bírálja felül a SelfAsserted-LocalAccountSignin-Email technikai profilokat a bővítményfájlban.

  1. Keresse meg a ClaimsProviders elemet. Ha az elem nem létezik, adja hozzá.

  2. Adja hozzá a következő jogcímszolgáltatót a ClaimsProviders elemhez:

    <ClaimsProvider>
      <DisplayName>Local Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
          <Metadata>
            <Item Key="setting.enableRememberMe">True</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Mentse a bővítményfájlt.

Függő entitásfájl konfigurálása

Frissítse a létrehozott felhasználói folyamatot kezdeményező függő entitásfájlt (RP). A keepAliveInDays paraméter lehetővé teszi annak konfigurálását, hogy mennyi ideig maradjon meg a bejelentkezett (KMSI) munkamenet-cookie. Ha például 30-ra állítja az értéket, akkor a KMSI munkamenet cookie 30 napig megmarad. Az érték tartománya 1 és 90 nap között van. Az érték 0 értékre állítása kikapcsolja a KMSI-funkciókat.

  1. Nyissa meg az egyéni házirendfájlt. Például: SignUpOrSignin.xml.

  2. Ha még nem létezik, adjon hozzá egy <UserJourneyBehaviors> gyermekcsomópontot a <RelyingParty> csomóponthoz. Közvetlenül a következő után <DefaultUserJourney ReferenceId="User journey Id" />kell elhelyezkednie, például: <DefaultUserJourney ReferenceId="SignUpOrSignIn" />.

  3. Adja hozzá a következő csomópontot az <UserJourneyBehaviors> elem gyermekeként.

    <UserJourneyBehaviors>
      <SingleSignOn Scope="Tenant" KeepAliveInDays="30" />
      <SessionExpiryType>Absolute</SessionExpiryType>
      <SessionExpiryInSeconds>1200</SessionExpiryInSeconds>
    </UserJourneyBehaviors>
    

A KeepAliveInDays és a SessionExpiryInSeconds beállítást is úgy állítja be, hogy a bejelentkezés során, ha egy felhasználó engedélyezi a KMSI-t, a KeepAliveInDays a cookie-k beállítására szolgál, ellenkező esetben a SessionExpiryInSeconds paraméterben megadott érték lesz használva. Javasoljuk, hogy a SessionExpiryInSeconds értékének rövid (1200 másodperc) legyen, míg a KeepAliveInDays értéke viszonylag hosszú (30 nap) értékre állítható, ahogyan az alábbi példában látható:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <UserJourneyBehaviors>
    <SingleSignOn Scope="Tenant" KeepAliveInDays="30" />
    <SessionExpiryType>Absolute</SessionExpiryType>
    <SessionExpiryInSeconds>1200</SessionExpiryInSeconds>
  </UserJourneyBehaviors>
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
      <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

Kijelentkezés

Ha ki szeretné jelentkeztetni a felhasználót az alkalmazásból, nem elég törölni az alkalmazás cookie-ját, vagy más módon befejezni a munkamenetet a felhasználóval. A kijelentkezéshez át kell irányítania a felhasználót az Azure AD B2C-be. Ellenkező esetben előfordulhat, hogy a felhasználó újrahitelesíti az alkalmazásokat anélkül, hogy újból meg kellene adnia a hitelesítő adatait.

Kijelentkezési kérés esetén az Azure AD B2C:

  1. Érvényteleníti az Azure AD B2C cookie-alapú munkamenetét.
  2. Az összevont identitásszolgáltatóktól való kijelentkezés kísérlete.
  1. Érvényteleníti az Azure AD B2C cookie-alapú munkamenetét.
  2. Az összevont identitásszolgáltatóktól való kijelentkezés kísérlete:
    • OpenId Csatlakozás – Ha az identitásszolgáltató jól ismert konfigurációs végpontja egy end_session_endpoint helyet határoz meg. A bejelentkezési kérelem nem adja át a paramétert id_token_hint . Ha az összevont identitásszolgáltató megköveteli ezt a paramétert, a bejelentkezési kérés meghiúsul.
    • OAuth2 – Ha az identitásszolgáltató metaadatai tartalmazzák a end_session_endpoint helyet.
    • SAML – Ha az identitásszolgáltató metaadatai tartalmazzák a SingleLogoutService helyet.
  3. Másik lehetőségként kijelentkezés más alkalmazásokból. További információkért tekintse meg az egyszeri kijelentkezés szakaszt .

Megjegyzés:

Letilthatja a kijelentkezéseket az összevont identitásszolgáltatókból, ha az identitásszolgáltató műszaki profil metaadatait a következőre falseállítjaSingleLogoutEnabled.

A kijelentkezés törli a felhasználó egyszeri bejelentkezési állapotát az Azure AD B2C-vel, de előfordulhat, hogy nem kijelentkezteti a felhasználót a közösségi identitásszolgáltatói munkamenetből. Ha a felhasználó ugyanazt az identitásszolgáltatót választja egy későbbi bejelentkezés során, előfordulhat, hogy hitelesítő adataik megadása nélkül újrahitelesíti őket. Ha egy felhasználó ki szeretne jelentkezni az alkalmazásból, az nem feltétlenül jelenti azt, hogy ki szeretne jelentkezni a Facebook-fiókjából. Ha azonban helyi fiókokat használ, a felhasználó munkamenete megfelelően véget ér.

Egyszeri kijelentkezés

Amikor átirányítja a felhasználót az Azure AD B2C bejelentkezési végpontjára (OAuth2 és OpenID Csatlakozás esetén egyaránt), vagy (SAML esetén) küldi LogoutRequest el a felhasználót, az Azure AD B2C törli a felhasználó munkamenetét a böngészőből. Előfordulhat azonban, hogy a felhasználó továbbra is bejelentkezett más alkalmazásokba, amelyek az Azure AD B2C-t használják hitelesítésre. Ha a felhasználót az összes aktív munkamenetet használó alkalmazásból ki szeretné jelentkezni, az Azure AD B2C támogatja az egyszeri kijelentkezés, más néven egyszeri kijelentkezés (SLO) használatát.

A kijelentkezés során az Azure AD B2C egyidejűleg http-kérést küld az összes alkalmazás regisztrált kijelentkezési URL-címére, amelyre a felhasználó jelenleg bejelentkezett.

Egyéni szabályzat konfigurálása

Az egyszeri kijelentkezés támogatásához a JWT és az SAML tokenkibocsátó technikai profiljainak meg kell adniuk a következőket:

  • A protokoll neve, például <Protocol Name="OpenIdConnect" />
  • A munkamenet technikai profiljára mutató hivatkozás, például UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />.

Az alábbi példa az egyszeri kijelentkezéssel rendelkező JWT- és SAML-jogkivonat-kiállítókat mutatja be:

<ClaimsProvider>
  <DisplayName>Local Account SignIn</DisplayName>
  <TechnicalProfiles>
    <!-- JWT Token Issuer -->
    <TechnicalProfile Id="JwtIssuer">
      <DisplayName>JWT token Issuer</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputTokenFormat>JWT</OutputTokenFormat>
      ...    
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />
    </TechnicalProfile>

    <!-- Session management technical profile for OIDC based tokens -->
    <TechnicalProfile Id="SM-jwt-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.OAuthSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </TechnicalProfile>

    <!--SAML token issuer-->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>SAML token issuer</DisplayName>
      <Protocol Name="SAML2" />
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      ...
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer" />
    </TechnicalProfile>

    <!-- Session management technical profile for SAML based tokens -->
    <TechnicalProfile Id="SM-Saml-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

Az alkalmazás konfigurálása

Annak érdekében, hogy egy alkalmazás részt vegyen az egyszeri kijelentkezésben:

  • SAML-szolgáltatók esetén konfigurálja az alkalmazást a SingleLogoutService helyével a SAML metaadat-dokumentumában. Az alkalmazásregisztrációt logoutUrlis konfigurálhatja. További információ: a kijelentkezés URL-címének beállítása.
  • OpenID Csatlakozás vagy OAuth2-alkalmazások esetén adja meg az logoutUrl alkalmazásregisztrációs jegyzék attribútumát. A kijelentkezés URL-címének konfigurálása:
    1. Az Azure AD B2C menüjében válassza a Alkalmazásregisztrációk.
    2. Válassza ki az alkalmazásregisztrációt.
    3. A Kezelés területen válassza a Hitelesítés lehetőséget.
    4. Az előtérbeli bejelentkezési URL-cím alatt konfigurálja a kijelentkezés URL-címét.

Handling single sign-out requests

Amikor az Azure AD B2C megkapja a kijelentkezési kérelmet, egy előtérbeli HTML-iframe használatával http-kérést küld minden olyan résztvevő alkalmazás regisztrált bejelentkezési URL-címére, amelyre a felhasználó jelenleg bejelentkezett. Vegye figyelembe, hogy a kijelentkezés kérését kezdeményező alkalmazás megkapja ezt a kijelentkezést jelző üzenetet. Az alkalmazásoknak a felhasználót azonosító alkalmazás-munkamenet törlésével kell válaszolniuk a bejelentkezési kérésre.

  • OpenID Csatlakozás és OAuth2-alkalmazások esetén az Azure AD B2C HTTP GET kérést küld a regisztrált kijelentkezési URL-címre.
  • SAML-alkalmazások esetén az Azure AD B2C saml-kijelentkezési kérelmet küld a regisztrált kijelentkezési URL-címre.

Amikor az Azure AD B2C értesíti az összes alkalmazást a kijelentkezésről, a következő műveletek egyikét hajtja végre:

  • OpenID Csatlakozás vagy OAuth2-alkalmazások esetén átirányítja a felhasználót a kérthözpost_logout_redirect_uri, beleértve a kezdeti kérelemben megadott (nem kötelező) state paramétert is. Például: https://contoso.com/logout?state=foo.
  • SAML-alkalmazások esetén a RENDSZER a HTTP POST-en keresztül küld egy SAML-kijelentkezési választ a kijelentkezési kérelmet eredetileg küldő alkalmazásnak.

A kijelentkezés átirányításának védelme

A kijelentkezés után a rendszer átirányítja a felhasználót a paraméterben post_logout_redirect_uri megadott URI-ra, függetlenül az alkalmazáshoz megadott válasz URL-címektől. Ha azonban érvényes értéket ad meg, id_token_hint és a kijelentkezési kérelmekben be van kapcsolva az azonosító jogkivonata, az Azure AD B2C ellenőrzi, hogy az érték post_logout_redirect_uri megegyezik-e az alkalmazás egyik konfigurált átirányítási URI-jával az átirányítás végrehajtása előtt. Ha nem lett konfigurálva egyező válasz URL-cím az alkalmazáshoz, hibaüzenet jelenik meg, és a felhasználó nem lesz átirányítva.

Azonosító jogkivonat megkövetelése a bejelentkezési kérelmekben:

  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. Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
  4. Válassza ki a felhasználói folyamatokat.
  5. Nyissa meg a korábban létrehozott felhasználói folyamatot.
  6. Válassza ki a tulajdonságokat.
  7. Engedélyezze az azonosító-jogkivonat megkövetelését a bejelentkezési kérelmekben.

Ha azonosító jogkivonatot szeretne igényelni a kijelentkezési kérelmekben, adjon hozzá egy UserJourneyBehaviors elemet a RelyingParty elemen belül. Ezután állítsa a SingleSignOn elem EnforceIdTokenHintOnLogout elemét a következőretrue: . További információkért tekintse meg az Élő bemutatót. A UserJourneyBehaviors elemnek a következő példához hasonlóan kell kinéznie:

<UserJourneyBehaviors>
  <SingleSignOn Scope="Tenant" EnforceIdTokenHintOnLogout="true"/>
</UserJourneyBehaviors>

Az alkalmazás-kijelentkezés URL-címének konfigurálása:

  1. Válassza ki a Alkalmazásregisztrációk, majd az alkalmazást.
  2. Válassza a Hitelesítés lehetőséget.
  3. A Kijelentkezés URL-címe szövegmezőbe írja be a kijelentkezés utáni átirányítási URI-t, majd válassza a Mentés lehetőséget.

További lépések