Azure Active Directory B2C'de oturum davranışını yapılandırma

Başlamadan önce, ayarladığınız ilke türünü seçmek için İlke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. Bu makalede gerekli adımlar her yöntem için farklıdır.

Çoklu oturum açma (SSO), kullanıcılar Azure Active Directory B2C'de (Azure AD B2C) uygulamalar arasında oturum açarken güvenlik ve kolaylık sağlar. Bu makalede Azure AD B2C'de kullanılan çoklu oturum açma yöntemleri açıklanır ve ilkenizi yapılandırırken en uygun SSO yöntemini seçmenize yardımcı olur.

Çoklu oturum açma ile kullanıcılar tek bir hesapla bir kez oturum açar ve birden çok uygulamaya erişim elde edersiniz. Uygulama, platform veya etki alanı adından bağımsız olarak web, mobil veya tek sayfalı bir uygulama olabilir.

Kullanıcı bir uygulamada ilk kez oturum açtığında, Azure AD B2C tanımlama bilgisi tabanlı bir oturumda kalır. Sonraki kimlik doğrulama isteklerinde, Azure AD B2C tanımlama bilgisi tabanlı oturumu okur ve doğrular ve kullanıcıdan yeniden oturum açmasını istemeden bir erişim belirteci gönderir. Tanımlama bilgisi tabanlı oturumun süresi dolarsa veya geçersiz olursa, kullanıcıdan yeniden oturum açması istenir.

Önkoşullar

Azure AD B2C oturumuna genel bakış

Azure AD B2C ile tümleştirme üç tür SSO oturumu içerir:

  • Azure AD B2C - Azure AD B2C tarafından yönetilen oturum
  • Federasyon kimlik sağlayıcısı - Facebook, Salesforce veya Microsoft hesabı gibi kimlik sağlayıcısı tarafından yönetilen oturum
  • Uygulama - Web, mobil veya tek sayfalı uygulama tarafından yönetilen oturum

SSO session

Azure AD B2C oturumu

Bir kullanıcı yerel veya sosyal bir hesapla başarıyla kimlik doğrulamasından geçtiğinde, Azure AD B2C kullanıcının tarayıcısını tanımlama bilgisi tabanlı bir oturum depolar. Tanımlama bilgisi, Gibi https://contoso.b2clogin.comAzure AD B2C kiracı etki alanı adı altında depolanır.

Kullanıcı federasyon hesabıyla oturum açtığında, yaşam süresi (TTL) olarak da bilinen bir oturum süresi penceresi başlar. Kullanıcı bu TTL içinde aynı veya farklı bir uygulamada oturum açarsa, Azure AD B2C federasyon kimlik sağlayıcısından yeni bir erişim belirteci almayı dener. Federasyon kimlik sağlayıcısı oturumunun süresi dolduysa veya geçersizse, federasyon kimlik sağlayıcısı kullanıcıdan kimlik bilgilerini ister. Kullanıcının oturumu devam ediyorsa veya kullanıcı federasyon hesabı yerine yerel bir hesap kullanarak oturum açtıysa, Azure AD B2C kullanıcıyı yetkilendir ve başka istemleri önler.

TTL oturumu ve Azure AD B2C'nin ilkeler ve uygulamalar arasında oturumu nasıl paylaştığı dahil olmak üzere oturum davranışını yapılandırabilirsiniz.

Federasyon kimlik sağlayıcısı oturumu

Bir sosyal veya kurumsal kimlik sağlayıcısı kendi oturumunu yönetir. Tanımlama bilgisi, kimlik sağlayıcısının etki alanı adı (gibi https://login.salesforce.com) altında depolanır. Azure AD B2C, federasyon kimlik sağlayıcısı oturumunu denetlemez. Bunun yerine, oturum davranışı federasyon kimlik sağlayıcısı tarafından belirlenir.

Aşağıdaki senaryoyu değerlendirin:

  1. Bir kullanıcı, akışını denetlemek için Facebook'ta oturum açar.
  2. Daha sonra kullanıcı uygulamanızı açar ve oturum açma işlemini başlatır. Uygulama, oturum açma işlemini tamamlamak için kullanıcıyı Azure AD B2C'ye yönlendirir.
  3. Azure AD B2C'ye kaydolma veya oturum açma sayfasında, kullanıcı Facebook hesabıyla oturum açmayı seçer. Kullanıcı Facebook'a yönlendirilir. Facebook'ta etkin bir oturum varsa, kullanıcıdan kimlik bilgilerini sağlaması istenmez ve bir Facebook belirteci ile hemen Azure AD B2C'ye yönlendirilir.

Uygulama oturumu

OAuth2 erişim belirteci, kimlik belirteci veya SAML belirteci bir web, mobil veya tek sayfalı uygulamayı koruyabilir. Kullanıcı uygulamadaki korumalı bir kaynağa erişmeye çalıştığında, uygulama tarafında etkin bir oturum olup olmadığını denetler. Uygulama oturumu yoksa veya oturumun süresi dolarsa, uygulama kullanıcıyı Azure AD B2C oturum açma sayfasına yönlendirir.

Uygulama oturumu, gibi https://contoso.comuygulama etki alanı adı altında depolanan tanımlama bilgisi tabanlı bir oturum olabilir. Mobil uygulamalar oturumu farklı bir şekilde depolayabilir ancak benzer bir yaklaşım kullanabilir.

Azure AD B2C oturum davranışını yapılandırma

Aşağıdakiler dahil olmak üzere Azure AD B2C oturum davranışını yapılandırabilirsiniz:

  • Web uygulaması oturum ömrü (dakika) - Başarılı kimlik doğrulamasından sonra Azure AD B2C oturum tanımlama bilgisinin kullanıcının tarayıcınızda depolandığı süre. Oturum ömrünü 24 saate kadar ayarlayabilirsiniz.

  • Web uygulaması oturumu zaman aşımı - Oturumun oturum ömrü ayarı veya Oturumumu açık tut (KMSI) ayarıyla nasıl uzatılmış olduğunu gösterir.

    • Rolling - Kullanıcının tanımlama bilgisi tabanlı kimlik doğrulaması (varsayılan) her gerçekleştirişinde oturumun genişletildiğini gösterir.
    • Mutlak - Kullanıcının belirtilen süre sonunda yeniden kimlik doğrulaması yapmaya zorlandığını gösterir.
  • Çoklu oturum açma yapılandırması - Azure AD B2C oturumu aşağıdaki kapsamlarla yapılandırılabilir:

    • Kiracı - Bu ayar varsayılan ayardır. Bu ayarın kullanılması, B2C kiracınızdaki birden çok uygulamanın ve kullanıcı akışının aynı kullanıcı oturumunu paylaşmasına olanak tanır. Örneğin, bir kullanıcı bir uygulamada oturum açtığında, kullanıcı uygulamaya eriştiğinde başka bir uygulamada da sorunsuz bir şekilde oturum açabilir.
    • Uygulama - Bu ayar, diğer uygulamalardan bağımsız olarak yalnızca bir uygulama için kullanıcı oturumunun bakımını yapmanızı sağlar. Örneğin, kullanıcının Contoso Market'te oturum açıp açmadığına bakılmaksızın Contoso Eczanesi'nde oturum açmasını istiyorsanız bu ayarı kullanabilirsiniz.
    • İlke - Bu ayar, bir kullanıcı oturumunu kullanan uygulamalardan bağımsız olarak yalnızca bir kullanıcı akışı için tutmanızı sağlar. Örneğin Azure AD B2C, kullanıcı zaten oturum açmış ve çok faktörlü kimlik doğrulaması (MFA) adımını tamamlamışsa, kullanıcıya birden çok uygulamanın daha yüksek güvenlikli bölümlerine erişim verir. Kullanıcı akışıyla ilişkili oturum etkin kaldığı sürece bu erişim devam eder.
    • Gizlendi - Bu ayar, kullanıcıyı ilkenin her yürütmesinde kullanıcı akışının tamamında çalışmaya zorlar.

Kullanıcı akışını yapılandırma

Kullanıcı akışınızda oturum davranışını yapılandırmak için şu adımları izleyin:

  1. Azure Portal oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.
  3. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.
  4. Kullanıcı akışları'ı seçin.
  5. Daha önce oluşturduğunuz kullanıcı akışını açın.
  6. Özellikleri'i seçin.
  7. Gerektiğinde Web uygulaması oturum ömrü (dakika), Web uygulaması oturum zaman aşımı, Çoklu oturum açma yapılandırması ve Oturum kapatma isteklerinde Kimlik Belirteci gerektir'i yapılandırın.
  8. Kaydet'e tıklayın.

Özel ilkeyi yapılandırma

Özel ilkenizde oturum davranışını yapılandırmak için şu adımları izleyin:

  1. Bağlı olan taraf (RP) dosyasını açın, örneğin SignUpOrSignin.xml

  2. Henüz yoksa, öğesine aşağıdaki <UserJourneyBehaviors> öğeyi <RelyingParty> ekleyin. hemen sonrasında <DefaultUserJourney ReferenceId="UserJourney Id"/>bulunmalıdır.

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

    Kullanıcı yolculuğu davranışı öğelerini ekledikten sonra, RelyingParty öğesi aşağıdaki örnekteki gibi görünmelidir:

    <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. özniteliğinin Scope değerini olası değerlerden biriyle değiştirin: Suppressed, Tenant, Applicationveya Policy. Daha fazla bilgi için RelyingParty başvuru makalesine bakın.

  4. SessionExpiryType öğesini veya Absoluteolarak Rolling ayarlayın. Daha fazla bilgi için RelyingParty başvuru makalesine bakın.

  5. SessionExpiryInSeconds öğesini 900 saniye (15 dakika) ile 86.400 saniye (24 saat) arasında bir sayısal değere ayarlayın. Daha fazla bilgi için RelyingParty başvuru makalesine bakın.

Oturumumu açık bırak'ı etkinleştir (KMSI)

Azure AD B2C dizininizde yerel hesapları olan web ve yerel uygulama kullanıcıları için KMSI özelliğini etkinleştirebilirsiniz. Özelliği etkinleştirdiğinizde, kullanıcılar tarayıcıyı kapattıktan sonra oturumun etkin kalması için oturumunu kapatmayı tercih edebilir. Oturum kalıcı bir tanımlama bilgisi ayarlanarak korunur. KMSI'yi seçen kullanıcılar, kullanıcı adlarını ve parolalarını yeniden girmeleri istenmeden tarayıcıyı yeniden açabilir. Kullanıcı oturumu kapattığında bu erişim (kalıcı tanımlama bilgisi) iptal edilir. Daha fazla bilgi için Canlı tanıtıma göz atın.

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

KMSI, bireysel kullanıcı akışı düzeyinde yapılandırılabilir. Kullanıcı akışlarınız için KMSI'yi etkinleştirmeden önce aşağıdakileri göz önünde bulundurun:

  • KMSI yalnızca kaydolma ve oturum açma (SUSI), oturum açma ve profil düzenleme kullanıcı akışlarının Önerilen sürümleri için desteklenir. Şu anda bu kullanıcı akışlarının Standart (Eski) veya Eski önizleme - v2 sürümlerine sahipseniz ve KMSI'yi etkinleştirmek istiyorsanız, bu kullanıcı akışlarının yeni, Önerilen sürümlerini oluşturmanız gerekir.
  • KMSI, parola sıfırlama veya kaydolma kullanıcı akışlarıyla desteklenmez.
  • Kiracınızdaki tüm uygulamalar için KMSI'yi etkinleştirmek istiyorsanız, kiracınızdaki tüm kullanıcı akışları için KMSI'yi etkinleştirmenizi öneririz. Bir kullanıcıya oturum sırasında birden çok ilke sunulabildiğinden, KMSI etkinleştirilmemiş bir ilkeyle karşılaşabilir ve bu da KMSI tanımlama bilgisini oturumdan kaldırır.
  • KMSI ortak bilgisayarlarda etkinleştirilmemelidir.

Kullanıcı akışı için KMSI'yi yapılandırma

Kullanıcı akışınızda KMSI'yi etkinleştirmek için:

  1. Azure Portal oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.

  3. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.

  4. Kullanıcı akışları (ilkeler) öğesini seçin.

  5. Daha önce oluşturduğunuz kullanıcı akışını açın.

  6. Özellikleri'i seçin.

  7. Oturum davranışı'nın altında Etkinleştir oturumumu oturumumu açık tut'u seçin. Oturumumu açık tut (gün) seçeneğinin yanında, oturumun açık kalabileceği gün sayısını belirtmek için 1 ile 90 arasını girin.

    Enable keep me signed in session

Kullanıcılar bu seçeneği ortak bilgisayarlarda etkinleştirmemelidir.

Sayfa tanımlayıcısını yapılandırma

KMSI'yi etkinleştirmek için içerik tanımı DataUri öğesini sayfa tanımlayıcısıunifiedssp ve sayfa sürümü1.1.0 veya üzeri olarak ayarlayın.

  1. İlkenizin uzantı dosyasını açın. Örneğin, SocialAndLocalAccounts/TrustFrameworkExtensions.xml. Bu uzantı dosyası, özel ilke başlangıç paketinde yer alan ve özel ilkeleri kullanmaya başlama önkoşulunda edindiğiniz ilke dosyalarından biridir.

  2. BuildingBlocks öğesini arayın. Öğesi yoksa ekleyin.

  3. contentDefinitions öğesini ilkenin BuildingBlocks öğesine ekleyin.

    Özel ilkeniz aşağıdaki kod parçacığı gibi görünmelidir:

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

Meta verileri kendi kendine onaylanan teknik profile ekleme

Kaydolma ve oturum açma sayfasına KMSI onay kutusunu eklemek için meta verileri true olarak ayarlayın setting.enableRememberMe . Uzantı dosyasındaki SelfAsserted-LocalAccountSignin-Email teknik profillerini geçersiz kılın.

  1. ClaimsProviders öğesini bulun. Öğesi yoksa ekleyin.

  2. ClaimsProviders öğesine aşağıdaki talep sağlayıcısını ekleyin:

    <ClaimsProvider>
      <DisplayName>Local Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
          <Metadata>
            <Item Key="setting.enableRememberMe">True</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Uzantılar dosyasını kaydedin.

Bağlı olan taraf dosyasını yapılandırma

Oluşturduğunuz kullanıcı yolculuğunu başlatan bağlı taraf (RP) dosyasını güncelleştirin. parametresi, keepAliveInDays oturumumu açık tutma (KMSI) oturum tanımlama bilgisinin ne kadar süreyle kalıcı olması gerektiğini yapılandırmanıza olanak tanır. Örneğin, değeri 30 olarak ayarlarsanız KMSI oturum tanımlama bilgisi 30 gün boyunca kalır. Değerin aralığı 1 ile 90 gün arasındadır. Değeri 0 olarak ayarlamak KMSI işlevini kapatır.

  1. Özel ilke dosyanızı açın. Örneğin, SignUpOrSignin.xml.

  2. Henüz yoksa düğüme <RelyingParty> bir <UserJourneyBehaviors> alt düğüm ekleyin. hemen sonra <DefaultUserJourney ReferenceId="User journey Id" />bulunmalıdır, örneğin: <DefaultUserJourney ReferenceId="SignUpOrSignIn" />.

  3. Aşağıdaki düğümü öğesinin <UserJourneyBehaviors> alt öğesi olarak ekleyin.

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

Hem KeepAliveInDays hem de SessionExpiryInSeconds'ı, oturum açma sırasında kullanıcı KMSI'yi etkinleştirirse tanımlama bilgilerini ayarlamak için KeepAliveInDays kullanılır, aksi takdirde SessionExpiryInSeconds parametresinde belirtilen değer kullanılır. Aşağıdaki örnekte gösterildiği gibi SessionExpiryInSeconds değerini kısa bir süre (1200 saniye) olarak ayarlamanızı, KeepAliveInDays değerini ise görece uzun bir süreye (30 gün) ayarlamanızı öneririz:

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

Oturumu Kapat

Kullanıcının uygulama oturumunu kapatmak istediğinizde, uygulamanın tanımlama bilgilerini temizlemek veya kullanıcıyla oturumu başka bir şekilde sonlandırmak yeterli değildir. Oturumu kapatmak için kullanıcıyı Azure AD B2C'ye yeniden yönlendirmeniz gerekir. Aksi takdirde kullanıcı, kimlik bilgilerini yeniden girmeden uygulamalarınıza yeniden kimlik doğrulaması yapabilir.

Oturum kapatma isteği üzerine Azure AD B2C:

  1. Azure AD B2C tanımlama bilgisi tabanlı oturumu geçersiz kılma.
  2. Federasyon kimlik sağlayıcılarının oturumunu kapatmaya çalışır.
  1. Azure AD B2C tanımlama bilgisi tabanlı oturumu geçersiz kılma.
  2. Federasyon kimlik sağlayıcılarının oturumunu kapatma girişimleri:
    • OpenId Bağlan - Kimlik sağlayıcısı iyi bilinen yapılandırma uç noktası bir end_session_endpoint konum belirtiyorsa. Oturum kapatma isteği parametresini id_token_hint geçirmiyor. Federasyon kimlik sağlayıcısı bu parametreyi gerektiriyorsa, oturum kapatma isteği başarısız olur.
    • OAuth2 - Kimlik sağlayıcısı meta verileri konumu içeriyorsa end_session_endpoint .
    • SAML - Kimlik sağlayıcısı meta verileri konumu içeriyorsa SingleLogoutService .
  3. İsteğe bağlı olarak, diğer uygulamalardan oturumunu kapatın. Daha fazla bilgi için Çoklu oturum kapatma bölümüne bakın.

Dekont

Kimlik sağlayıcısı teknik profil meta verilerini SingleLogoutEnabledfalseolarak ayarlayarak federasyon kimlik sağlayıcılarının oturumunu kapatmayı devre dışı bırakabilirsiniz.

Oturum kapatma, kullanıcının Azure AD B2C ile çoklu oturum açma durumunu temizler, ancak kullanıcının sosyal kimlik sağlayıcısı oturumunu kapatmayabilir. Kullanıcı bir sonraki oturum açma sırasında aynı kimlik sağlayıcısını seçerse, kimlik bilgilerini girmeden yeniden kimlik doğrulamasından geçer. Bir kullanıcı uygulamanın oturumunu kapatmak istiyorsa bu, Facebook hesabında oturumunu kapatmak istediği anlamına gelmez. Ancak, yerel hesaplar kullanılırsa kullanıcının oturumu düzgün bir şekilde sona erer.

Çoklu oturum kapatma

Kullanıcıyı Azure AD B2C oturum kapatma uç noktasına (hem OAuth2 hem de OpenID Bağlan için) yeniden yönlendirdiğinizde veya bir LogoutRequest (SAML için) gönderdiğinizde, Azure AD B2C kullanıcının oturumunu tarayıcıdan temizler. Ancak, kullanıcı kimlik doğrulaması için Azure AD B2C kullanan diğer uygulamalarda oturum açmış olabilir. Etkin oturumu olan tüm uygulamalarda kullanıcının oturumunu kapatmak için Azure AD B2C, Çoklu Oturum Kapatma (SLO) olarak da bilinen çoklu oturumu kapatmayı destekler.

Oturum kapatma sırasında Azure AD B2C aynı anda kullanıcının oturum açtığı tüm uygulamaların kayıtlı oturum kapatma URL'sine bir HTTP isteği gönderir.

Özel ilkenizi yapılandırma

Çoklu oturumu kapatmayı desteklemek için hem JWT hem de SAML için belirteç veren teknik profilleri şunları belirtmelidir:

  • Protokol adı, örneğin <Protocol Name="OpenIdConnect" />
  • Oturum teknik profiline başvuru, örneğin UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />.

Aşağıdaki örnekte, çoklu oturum kapatma ile JWT ve SAML belirteci verenler gösterilmektedir:

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

Uygulamanızı yapılandırma

Bir uygulamanın çoklu oturum kapatmaya katılması için:

  • SAML hizmet sağlayıcıları için, uygulamayı SAML meta veri belgesinde SingleLogoutService konumuyla yapılandırın. Uygulama kaydını logoutUrlda yapılandırabilirsiniz. Daha fazla bilgi için bkz . Oturumu kapatma URL'sini ayarlama.
  • OpenID Bağlan veya OAuth2 uygulamaları için uygulama kayıt bildiriminizin özniteliğini ayarlayınlogoutUrl. Oturumu kapatma URL'sini yapılandırmak için:
    1. Azure AD B2C menüsünden Uygulama kayıtları'ı seçin.
    2. Uygulama kaydınızı seçin.
    3. Yönet'in altında Kimlik Doğrulama'yı seçin.
    4. Ön kanal oturumu kapatma URL'si altında, oturum kapatma URL'nizi yapılandırın.

Çoklu oturum kapatma isteklerini işleme

Azure AD B2C oturumu kapatma isteğini aldığında, kullanıcının oturum açtığı her katılımcı uygulamanın kayıtlı oturum kapatma URL'sine HTTP isteği göndermek için bir ön kanal HTML iframe kullanır. Oturumu kapatma isteğini tetikleyen uygulamanın bu oturumu kapatma iletisini aldığını unutmayın. Uygulamalarınız, kullanıcıyı tanımlayan uygulama oturumunu temizleyerek oturum kapatma isteğine yanıt vermelidir.

  • OpenID Bağlan ve OAuth2 uygulamaları için Azure AD B2C, kayıtlı oturum kapatma URL'sine bir HTTP GET isteği gönderir.
  • SAML uygulamaları için Azure AD B2C, kayıtlı oturum kapatma URL'sine bir SAML oturumu kapatma isteği gönderir.

Azure AD B2C tüm uygulamalara oturumu kapatma hakkında bilgi ettiğinde aşağıdakilerden birini yapmaya devam eder:

  • OpenID Bağlan veya OAuth2 uygulamaları için kullanıcıyı, ilk istekte belirtilen (isteğe bağlı) state parametresi dahil olmak üzere istenene post_logout_redirect_uri yönlendirir. Örneğin, https://contoso.com/logout?state=foo.
  • SAML uygulamaları için, başlangıçta oturum kapatma isteğini gönderen uygulamaya HTTP POST aracılığıyla bir SAML oturumu kapatma yanıtı gönderir.

Oturumu kapatma yeniden yönlendirmenizin güvenliğini sağlama

Oturum kapatıldıktan sonra kullanıcı, uygulama için belirttiğiniz yanıt URL'lerinden bağımsız olarak parametresinde post_logout_redirect_uri belirtilen URI'ye yönlendirilir. Ancak geçerli id_token_hint bir ileti geçirilirse ve oturum kapatma isteklerinde Kimlik Belirteci Gerektir seçeneği açıksa Azure AD B2C, yeniden yönlendirmeyi gerçekleştirmeden önce değerinin post_logout_redirect_uri uygulamanın yapılandırılmış yeniden yönlendirme URI'lerinden biriyle eşleşip eşleşmediğini doğrular. Uygulama için eşleşen yanıt URL'si yapılandırılmadıysa, bir hata iletisi görüntülenir ve kullanıcı yeniden yönlendirilmiyor.

Oturum kapatma isteklerinde kimlik belirteci gerektirmek için:

  1. Azure Portal oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.
  3. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.
  4. Kullanıcı akışları'ı seçin.
  5. Daha önce oluşturduğunuz kullanıcı akışını açın.
  6. Özellikleri'i seçin.
  7. Oturum kapatma isteklerinde Kimlik Belirteci gerektir'i etkinleştirin.

Oturumu kapatma isteklerinde kimlik belirteci gerektirmek için RelyingParty öğesinin içine bir UserJourneyBehaviors öğesi ekleyin. Ardından SingleSignOn öğesinin EnforceIdTokenHintOnLogoutdeğerini olarak trueayarlayın. Daha fazla bilgi için Canlı tanıtıma göz atın. UserJourneyBehaviors öğeniz şu örnekteki gibi görünmelidir:

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

Uygulamanızın Oturum Kapatma URL'sini yapılandırmak için:

  1. Uygulama kayıtları'ı ve ardından uygulamanızı seçin.
  2. Kimlik doğrulaması'nı seçin.
  3. Oturumu Kapatma URL'simetin kutusuna oturum kapatma sonrası yeniden yönlendirme URI'nizi yazın ve Kaydet'i seçin.

Sonraki adımlar