Konfigurace chování relace ve službě Azure Active Directory B2C

Než začnete, pomocí selektoru Zvolit typ zásady zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody pro definování způsobu interakce uživatelů s vašimi aplikacemi: prostřednictvím předdefinovaných toků uživatelů nebo prostřednictvím plně konfigurovatelných vlastních zásad. Kroky vyžadované v tomto článku se pro každou metodu liší.

Jednotné přihlašování přidává zabezpečení a pohodlí při přihlašování uživatelů mezi aplikacemi v Azure Active Directory B2C (Azure AD B2C). Tento článek popisuje metody jednotného přihlašování používané v Azure AD B2C a pomáhá při konfiguraci zásad zvolit nejvhodnější metodu jednotného přihlašování.

S jednotným přihlašováním se uživatelé přihlašují jednou pomocí jednoho účtu a získají přístup k více aplikacím. Aplikace může být webová, mobilní nebo jednostrábová aplikace bez ohledu na název platformy nebo domény.

Když se uživatel poprvé přihlásí k aplikaci, Azure AD B2C zachová relaci založenou na souborech cookie. Po následných žádostech o ověření Azure AD B2C přečte a ověří relaci založenou na souborech cookie a vydá přístupový token bez výzvy, aby se uživatel znovu přihlásil. Pokud relace založená na souborech cookie vyprší nebo je neplatná, zobrazí se uživateli výzva k opětovnému přihlášení.

Požadavky

Přehled relace Azure AD B2C

Integrace s Azure AD B2C zahrnuje tři typy relací jednotného přihlašování:

  • Azure AD B2C – Relace spravovaná službou Azure AD B2C
  • Zprostředkovatel federované identity – Relace spravovaná zprostředkovatelem identity, například Facebook, Salesforce nebo účet Microsoft
  • Aplikace – Relace spravovaná webovou, mobilní nebo jednostrákovou aplikací

SSO session

Relace Azure AD B2C

Když se uživatel úspěšně ověří pomocí místního nebo sociálních účtů, Azure AD B2C uloží relaci založenou na souborech cookie v prohlížeči uživatele. Soubor cookie se uloží pod názvem domény tenanta Azure AD B2C, například https://contoso.b2clogin.com.

Když se uživatel přihlásí pomocí federovaného účtu, spustí se časové okno relace označované také jako hodnota TTL (time-to-live). Pokud se uživatel přihlásí ke stejné nebo jiné aplikaci v rámci této hodnoty TTL, Azure AD B2C se pokusí získat nový přístupový token od zprostředkovatele federované identity. Pokud vypršela platnost relace zprostředkovatele federované identity nebo je neplatná, federovaný zprostředkovatel identity vyzve uživatele k zadání přihlašovacích údajů. Pokud relace uživatele probíhá nebo pokud je uživatel přihlášený pomocí místního účtu místo federovaného účtu, Azure AD B2C uživatele autorizuje a zabrání dalším výzevm.

Chování relace můžete nakonfigurovat, včetně hodnoty TTL relace a způsobu, jakým Azure AD B2C sdílí relaci napříč zásadami a aplikacemi.

Relace zprostředkovatele federovaných identit

Zprostředkovatel sociálních nebo podnikových identit spravuje vlastní relaci. Soubor cookie se uloží pod názvem domény zprostředkovatele identity, například https://login.salesforce.com. Azure AD B2C neřídí relaci zprostředkovatele federovaných identit. Místo toho chování relace určuje zprostředkovatel federované identity.

Zvažte následující scénář:

  1. Uživatel se přihlásí k Facebooku a zkontroluje svůj informační kanál.
  2. Později uživatel aplikaci otevře a spustí proces přihlášení. Aplikace přesměruje uživatele do Azure AD B2C a dokončí proces přihlášení.
  3. Na registrační nebo přihlašovací stránce Azure AD B2C se uživatel rozhodne přihlásit pomocí svého facebookového účtu. Uživatel se přesměruje na Facebook. Pokud je aktivní relace na Facebooku, uživateli se nezobrazí výzva k zadání přihlašovacích údajů a okamžitě se přesměruje na Azure AD B2C s tokenem Facebooku.

Relace aplikace

Přístupový token OAuth2, token ID nebo token SAML může chránit webovou, mobilní nebo jednostránkovou aplikaci. Když se uživatel pokusí o přístup k chráněnému prostředku v aplikaci, aplikace zkontroluje, jestli je na straně aplikace aktivní relace. Pokud relace aplikace neexistuje nebo platnost relace vyprší, aplikace přesměruje uživatele na přihlašovací stránku Azure AD B2C.

Relace aplikace může být relace založená na souborech cookie uložená pod názvem domény aplikace, například https://contoso.com. Mobilní aplikace můžou relaci ukládat jiným způsobem, ale používají podobný přístup.

Konfigurace chování relace Azure AD B2C

Můžete nakonfigurovat chování relace Azure AD B2C, včetně následujících:

  • Doba života relace webové aplikace (minuty) – doba, po které se soubor cookie relace Azure AD B2C uloží do prohlížeče uživatele po úspěšném ověření. Životnost relace můžete nastavit až 24 hodin.

  • Časový limit relace webové aplikace – označuje, jak je relace prodloužena nastavením doby života relace nebo nastavením Zůstat přihlášeni (Služba správy klíčů I).

    • Rolling – Označuje, že relace je prodloužena pokaždé, když uživatel provede ověřování na základě souborů cookie (výchozí).
    • Absolutní – označuje, že uživatel je nucen znovu ověřit po zadaném časovém období.
  • Konfigurace jednotného přihlašování – Relaci Azure AD B2C je možné nakonfigurovat s následujícími obory:

    • Tenant – Toto nastavení je výchozí. Použití tohoto nastavení umožňuje více aplikacím a tokům uživatelů ve vašem tenantovi B2C sdílet stejnou uživatelskou relaci. Když se například uživatel přihlásí k aplikaci, může se uživatel při přístupu k aplikaci bezproblémově přihlásit k jiné aplikaci.
    • Aplikace – Toto nastavení umožňuje udržovat uživatelskou relaci výhradně pro aplikaci nezávisle na jiných aplikacích. Toto nastavení můžete například použít, pokud chcete, aby se uživatel přihlásil do Contoso Pharmacy bez ohledu na to, jestli už je uživatel přihlášený k Contoso Potraviny.
    • Zásady – Toto nastavení umožňuje udržovat uživatelskou relaci výhradně pro tok uživatele nezávisle na aplikacích, které ho používají. Azure AD B2C například uživateli udělí přístup k částem s vyšším zabezpečením více aplikací, pokud se uživatel už přihlásil a dokončil krok vícefaktorového ověřování (MFA). Tento přístup bude pokračovat, dokud relace přidružená k toku uživatele zůstane aktivní.
    • Potlačeno – Toto nastavení vynutí, aby uživatel běžel celým tokem uživatele při každém spuštění zásady.

Konfigurace toku uživatele

Pokud chcete nakonfigurovat chování relace v toku uživatele, postupujte takto:

  1. Přihlaste se k portálu Azure.
  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
  3. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  4. Vyberte Toky uživatele.
  5. Otevřete tok uživatele, který jste vytvořili dříve.
  6. Vyberte Vlastnosti.
  7. Podle potřeby nakonfigurujte životnost relace webové aplikace (minuty), vypršení časového limitu relace webové aplikace, konfiguraci jednotného přihlašování a vyžadování tokenu ID v požadavcích na odhlášení.
  8. Klikněte na Uložit.

Konfigurace vlastních zásad

Pokud chcete nakonfigurovat chování relace ve vlastních zásadách, postupujte takto:

  1. Otevřete soubor předávající strany (RP), například SignUpOrSignin.xml.

  2. Pokud ještě neexistuje, přidejte do elementu <RelyingParty> následující <UserJourneyBehaviors> prvek. Musí být umístěn okamžitě po <DefaultUserJourney ReferenceId="UserJourney Id"/>.

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

    Po přidání elementů RelyingParty chování cesty uživatele by měl element vypadat jako v následujícím příkladu:

    <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. Změňte hodnotu atributu Scope na jednu z možných hodnot: Suppressed, Tenant, Applicationnebo Policy. Další informace najdete v referenčním článku RelyingParty .

  4. Nastavte prvek na SessionExpiryTypeRolling nebo Absolute. Další informace najdete v referenčním článku RelyingParty .

  5. SessionExpiryInSeconds Nastavte prvek na číselnou hodnotu mezi 900 sekundami (15 minut) a 86 400 sekund (24 hodin). Další informace najdete v referenčním článku RelyingParty .

Povolit přihlášení (Služba správy klíčů I)

Funkci Služba správy klíčů I můžete povolit uživatelům vašich webových a nativních aplikací, kteří mají místní účty ve vašem adresáři Azure AD B2C. Když tuto funkci povolíte, můžou se uživatelé rozhodnout zůstat přihlášení, aby relace zůstala aktivní po zavření prohlížeče. Relace se udržuje nastavením trvalého souboru cookie. Uživatelé, kteří vyberou Služba správy klíčů I, můžou znovu otevřít prohlížeč bez výzvy k zadání uživatelského jména a hesla. Tento přístup (trvalý soubor cookie) se odvolá, když se uživatel odhlásí. Další informace najdete v živé ukázce.

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

Služba správy klíčů I je možné konfigurovat na úrovni toku jednotlivých uživatelů. Před povolením Služba správy klíčů I pro toky uživatelů zvažte následující:

  • Služba správy klíčů I se podporuje jenom pro Doporučené verze registrace a přihlášení (SUSI), přihlášení a úpravy profilů toků uživatelů Pokud aktuálně máte verze Standard (Starší verze) nebo Starší verze Preview – verze 2 těchto toků uživatelů a chcete povolit Služba správy klíčů I, musíte vytvořit nové doporučené verze těchto toků uživatelů.
  • Služba správy klíčů I se nepodporuje s resetováním hesla ani s toky uživatelů pro registraci.
  • Pokud chcete povolit Služba správy klíčů I pro všechny aplikace ve vašem tenantovi, doporučujeme povolit Služba správy klíčů I pro všechny toky uživatelů ve vašem tenantovi. Vzhledem k tomu, že uživatel může být během relace prezentován s více zásadami, je možné, že narazí na ten, který nemá povolenou Služba správy klíčů I, což by odebralo soubor cookie Služba správy klíčů I z relace.
  • Služba správy klíčů Na veřejných počítačích by neměla být povolená.

Konfigurace Služba správy klíčů I pro tok uživatele

Povolení Služba správy klíčů I pro tok uživatele:

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.

  3. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.

  4. Vyberte Toky uživatelů (zásady).

  5. Otevřete tok uživatele, který jste vytvořili dříve.

  6. Vyberte Vlastnosti.

  7. V části Chování relace vyberte Povolit přihlášení k relaci. Vedle možnosti Zůstat přihlášeni k relaci (dny) zadejte hodnotu od 1 do 90 a zadejte počet dní, po které může relace zůstat otevřená.

    Enable keep me signed in session

Uživatelé by tuto možnost neměli povolit na veřejných počítačích.

Konfigurace identifikátoru stránky

Pokud chcete povolit Služba správy klíčů I, nastavte prvek definice DataUri obsahu na identifikátorunifiedssp stránky a stránku verze1.1.0 nebo vyšší.

  1. Otevřete soubor s příponou zásad. Například, SocialAndLocalAccounts/TrustFrameworkExtensions.xml. Tento soubor s příponou je jedním ze souborů zásad obsažených v úvodní sadě vlastních zásad, které získáte v předpokladu, Začínáme s vlastními zásadami.

  2. Vyhledejte element BuildingBlocks . Pokud prvek neexistuje, přidejte ho.

  3. Přidejte ContentDefinitions elementu BuildingBlocks zásady.

    Vaše vlastní zásada by měla vypadat jako následující fragment kódu:

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

Přidání metadat do technického profilu s vlastním kontrolním výrazem

Pokud chcete přidat zaškrtávací políčko Služba správy klíčů I na registrační a přihlašovací stránku, nastavte setting.enableRememberMe metadata na true. Přepište technické profily SelfAsserted-LocalAccountSignin-Email v souboru s příponou.

  1. Vyhledejte element ClaimsProviders. Pokud prvek neexistuje, přidejte ho.

  2. Do elementu ClaimsProviders přidejte následující zprostředkovatele deklarací identity:

    <ClaimsProvider>
      <DisplayName>Local Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
          <Metadata>
            <Item Key="setting.enableRememberMe">True</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Uložte soubor s příponami.

Konfigurace souboru předávající strany

Aktualizujte soubor předávající strany, který iniciuje cestu uživatele, kterou jste vytvořili. Parametr keepAliveInDays umožňuje nakonfigurovat, jak dlouho se má zachovat soubor cookie relace Služba správy klíčů I(Služba správy klíčů I). Pokud například nastavíte hodnotu na 30, soubor cookie relace Služba správy klíčů I trvá 30 dní. Rozsah hodnoty je od 1 do 90 dnů. Nastavení hodnoty na 0 vypne funkci Služba správy klíčů I.

  1. Otevřete soubor vlastních zásad. Například SignUpOrSignin.xml.

  2. Pokud ještě neexistuje, přidejte <UserJourneyBehaviors> do <RelyingParty> něj podřízený uzel. Musí být umístěn bezprostředně za <DefaultUserJourney ReferenceId="User journey Id" />, například: <DefaultUserJourney ReferenceId="SignUpOrSignIn" />.

  3. Přidejte následující uzel jako podřízený <UserJourneyBehaviors> prvek.

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

Nastavíte keepAliveInDays i SessionExpiryInSeconds tak, aby se při přihlášení, pokud uživatel povolí Služba správy klíčů I, keepAliveInDays se použije k nastavení souborů cookie, jinak se použije hodnota zadaná v parametru SessionExpiryInSeconds. Doporučujeme nastavit hodnotu SessionExpiryInSeconds na krátkou dobu (1200 sekund), zatímco hodnota KeepAliveInDays může být nastavena na relativně dlouhou dobu (30 dní), jak je znázorněno v následujícím příkladu:

<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>

Odhlásit

Pokud chcete uživatele odhlásit z aplikace, nestačí vymazat soubory cookie aplikace nebo jinak ukončit relaci s uživatelem. Pokud se chcete odhlásit, musíte uživatele přesměrovat do Azure AD B2C. V opačném případě může být uživatel schopen znovu provést ověření vašich aplikací bez opětovného zadání přihlašovacích údajů.

Po žádosti o odhlášení Azure AD B2C:

  1. Zneplatní relaci založenou na souborech cookie Azure AD B2C.
  2. Pokusí se odhlásit od zprostředkovatelů federovaných identit.
  1. Zneplatní relaci založenou na souborech cookie Azure AD B2C.
  2. Pokusy o odhlášení od zprostředkovatelů federovaných identit:
    • OpenId Připojení – pokud známý koncový bod konfigurace zprostředkovatele identity určuje end_session_endpoint umístění. Požadavek na odhlášení nepředá id_token_hint parametr. Pokud federovaný zprostředkovatel identity vyžaduje tento parametr, požadavek na odhlášení selže.
    • OAuth2 – Pokud metadata zprostředkovatele identity obsahují end_session_endpoint umístění.
    • SAML – Pokud metadata zprostředkovatele identity obsahují SingleLogoutService umístění.
  3. Volitelně se odhlaste z jiných aplikací. Další informace najdete v části Jednotné odhlášení .

Poznámka:

Odhlášení od zprostředkovatelů federovaných identit můžete zakázat nastavením metadat SingleLogoutEnabled technického profilu zprostředkovatele identity na false.

Odhlášení vymaže stav jednotného přihlašování uživatele pomocí Azure AD B2C, ale nemusí se odhlásit ze své relace zprostředkovatele sociální identity. Pokud uživatel během dalšího přihlášení vybere stejného zprostředkovatele identity, může se znovu přihlásit bez zadání přihlašovacích údajů. Pokud se uživatel chce z aplikace odhlásit, nemusí to nutně znamenat, že se chce odhlásit ze svého facebookového účtu. Pokud se ale použijí místní účty, relace uživatele skončí správně.

Jednotné odhlašování

Když přesměrujete uživatele do koncového bodu odhlášení Azure AD B2C (pro OAuth2 i OpenID Připojení) nebo odešlete LogoutRequest (pro SAML), Azure AD B2C vymaže relaci uživatele z prohlížeče. Uživatel ale může být stále přihlášený k jiným aplikacím, které k ověřování používají Azure AD B2C. K odhlášení uživatele ze všech aplikací, které mají aktivní relaci, podporuje Azure AD B2C jednotné odhlášení, označované také jako SLO (Single Log-Out).

Během odhlášení azure AD B2C současně odešle požadavek HTTP na zaregistrovanou adresu URL odhlášení všech aplikací, ke kterým je uživatel aktuálně přihlášený.

Konfigurace vlastních zásad

Aby bylo možné podporovat jednotné odhlášení, musí technické profily vystavitele tokenů pro JWT i SAML zadat:

  • Název protokolu, například <Protocol Name="OpenIdConnect" />
  • Odkaz na technický profil relace, například UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />.

Následující příklad znázorňuje vystavitele tokenů JWT a SAML s jednotným odhlašováním:

<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>

Konfigurace aplikace

Aby se aplikace mohla účastnit jednotného přihlašování:

  • Pro poskytovatele služeb SAML nakonfigurujte aplikaci s umístěním SingleLogoutService v dokumentu metadat SAML. Můžete také nakonfigurovat registraci logoutUrlaplikace . Další informace najdete v tématu nastavení adresy URL odhlášení.
  • U aplikací OpenID Připojení nebo OAuth2 nastavte logoutUrl atribut manifestu registrace aplikace. Konfigurace adresy URL odhlášení:
    1. V nabídce Azure AD B2C vyberte Registrace aplikací.
    2. Vyberte registraci aplikace.
    3. V části Spravovat vyberte Ověřování.
    4. Pod adresou URL odhlášení front-channel nakonfigurujte adresu URL odhlášení.

Zpracování žádostí pro jednotné odhlašování

Když Azure AD B2C obdrží požadavek na odhlášení, použije k odeslání požadavku HTTP na zaregistrovanou adresu URL odhlášení každé zúčastněné aplikace, ke které je uživatel aktuálně přihlášený, front-channel html iframe. Všimněte si, že aplikace, která aktivuje žádost o odhlášení, obdrží tuto zprávu odhlášení. Aplikace musí reagovat na žádost o odhlášení vymazáním relace aplikace, která uživatele identifikuje.

  • V případě aplikací OpenID Připojení a OAuth2 odešle Azure AD B2C požadavek HTTP GET na zaregistrovanou adresu URL odhlášení.
  • V případě aplikací SAML odešle Azure AD B2C žádost o odhlášení SAML na zaregistrovanou adresu URL odhlášení.

Když Azure AD B2C upozorní všechny aplikace na odhlášení, bude pokračovat jedním z následujících kroků:

  • U aplikací OpenID Připojení nebo OAuth2 přesměruje uživatele na požadovaný post_logout_redirect_uri parametr včetně (volitelného) state parametru zadaného v počátečním požadavku. Příklad: https://contoso.com/logout?state=foo.
  • U aplikací SAML odešle odpověď protokolu SAML prostřednictvím protokolu HTTP POST do aplikace, která původně odeslala žádost o odhlášení.

Zabezpečení přesměrování odhlášení

Po odhlášení se uživatel přesměruje na identifikátor URI zadaný v parametru post_logout_redirect_uri bez ohledu na adresy URL odpovědí, které zadáte pro aplikaci. Pokud je však předán platný id_token_hint token ID v žádostech o odhlášení, Azure AD B2C před provedením přesměrování ověří, že hodnota post_logout_redirect_uri odpovídá některému z nakonfigurovaných identifikátorů URI přesměrování aplikace. Pokud pro aplikaci nebyla nakonfigurovaná žádná odpovídající adresa URL odpovědi, zobrazí se chybová zpráva a uživatel nebude přesměrován.

Vyžadování tokenu ID v žádostech o odhlášení:

  1. Přihlaste se k portálu Azure.
  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
  3. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  4. Vyberte Toky uživatele.
  5. Otevřete tok uživatele, který jste vytvořili dříve.
  6. Vyberte Vlastnosti.
  7. Povolte token Vyžadovat ID v žádostech o odhlášení.

Pokud chcete v žádostech o odhlášení vyžadovat token ID, přidejte do elementu RelyingParty element UserJourneyBehaviors. Potom nastavte EnforceIdTokenHintOnLogout elementu SingleSignOn na true. Další informace najdete v živé ukázce. Prvek UserJourneyBehaviors by měl vypadat jako v tomto příkladu:

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

Konfigurace adresy URL odhlášení aplikace:

  1. Vyberte Registrace aplikací a pak vyberte aplikaci.
  2. Vyberte Ověřování.
  3. Do textového pole Adresa URL odhlášení zadejte identifikátor URI přesměrování odhlášení příspěvku a pak vyberte Uložit.

Další kroky