Поделиться через


Настройка режима работы сеанса в Azure Active Directory B2C

Для начала с помощью селектора Choose a policy type (Выбрать тип политики) выберите тип пользовательской политики. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.

Единый вход обеспечивает безопасность и удобство при входе пользователей в приложения в Azure Active Directory B2C (Azure Active Directory B2C). В этой статье описываются способы единого входа в Azure Active Directory B2C и представлены рекомендации, которые помогут выбрать наиболее подходящий метод единого входа при настройке политик.

С помощью единого входа пользователи могут войти один раз в одну учетную запись и получить доступ к нескольким приложениям. Это может быть веб-приложением, мобильным или одностраничным, независимо от платформы или имени домена.

Когда пользователь изначально входит в приложение, Azure Active Directory B2C сохраняет сеанс на основе файла cookie. При последующих запросах проверки подлинности Azure Active Directory B2C считывает и проверяет сеанс, сохраненный в файлах cookie, и выдает токен доступа без повторного запроса входа в систему. Если сеанс, сохраненный в файлах cookie, истекает или становится недействительным, пользователю предлагается выполнить вход еще раз.

Необходимые компоненты

Обзор сеанса Azure Active Directory B2C

Интеграция с Azure Active Directory B2C использует три типа сеансов единого входа:

  • Azure Active Directory B2C — сессия под управлением Azure Active Directory B2C
  • Федеративный поставщик удостоверений — сеанс, управляемый поставщиком удостоверений, например Facebook, Salesforce или учетная запись Майкрософт
  • Приложение — сеанс, управляемый веб-приложением, мобильным или одностраничным приложением

SSO session

Сеанс Azure Active Directory B2C

При успешной проверке подлинности локальной учетной записи пользователя или учетной записи социальных сетей Azure Active Directory B2C сохраняет сеанс в файлах cookie в браузере пользователя. Файл cookie хранится под доменным именем клиента Azure Active Directory B2C, например https://contoso.b2clogin.com.

Когда пользователь входит с федеративной учетной записью, запускается окно времени сеанса, которое также называется временем жизни (TTL). Если пользователь входит в одно или другое приложение в рамках этого TTL, Azure AD B2C пытается получить новый маркер доступа от федеративного поставщика удостоверений. Если срок действия сеанса федеративного поставщика удостоверений истек или некорректен, то поставщик федеративных удостоверений запрашивает у пользователя ввести учетные данные. Если сеанс пользователя продолжается или пользователь вошел в систему с помощью локальной учетной записи вместо федеративной, Azure AD B2C авторизует пользователя и предотвращает дальнейшие запросы.

Можно настроить поведение сеанса, включая срок жизни сеанса, а также то, как Azure Active Directory B2C использует сеанс совместно с политиками и приложениями.

Сеанс федеративного поставщика удостоверений

Поставщики удостоверений социальных сетей или корпоративные поставщики удостоверений управляют собственным сеансом. Файл cookie хранится под доменным именем поставщика удостоверений, например https://login.salesforce.com. Azure Active Directory B2C не управляет сеансом федеративного поставщика удостоверений. Вместо этого режим работы сеанса определяется федеративным поставщиком удостоверений.

Рассмотрим следующий сценарий:

  1. Пользователь входит в Facebook и просматривает ленту.
  2. Позже пользователь откроет ваше приложение и запустит процесс входа. Приложение перенаправляет пользователя в Azure Active Directory B2C для завершения процесса входа.
  3. На странице регистрации или странице входа Azure Active Directory B2C пользователь выбирает вход с использованием учетной записи Facebook. Пользователь перенаправляется на Facebook. Если в Facebook есть активный сеанс, пользователь не запрашивает предоставить свои учетные данные и немедленно перенаправляется в Azure AD B2C с маркером Facebook.

Сеанс приложения

Маркер доступа OAuth2, маркер идентификатора или токен SAML может защитить веб-, мобильное или одностраничное приложение. Когда пользователь пытается получить доступ к защищенному ресурсу приложения, приложение проверка, есть ли активный сеанс на стороне приложения. Если сеанс приложения не существует или срок действия сеанса истекает, приложение направляет пользователя на страницу входа Azure AD B2C.

Сеанс приложения может быть сеансом на основе файлов cookie, хранящихся под доменным именем приложения, например https://contoso.com. В мобильных приложениях сеанс может храниться по-другому, но с применением аналогичного подхода.

Настройка режима работы сеанса Azure Active Directory B2C

Можно настроить режим работы сеанса в Azure Active Directory B2C, включая следующие параметры:

  • Время существования сеанса веб-приложения (в минутах). Время существования файла cookie сеанса Azure Active Directory B2C, сохраненного в браузере пользователя после успешной проверки подлинности. Время жизни сеанса можно задать до 24 часов.

  • Время ожидания сеанса веб-приложения. Это дополнительное время существования сеанса по истечении срока, заданного параметром времени существования сеанса или параметром "Запомнить меня на этом компьютере".

    • Возврат. Сеанс продлевается каждый раз, когда пользователь проходит проверку подлинности с использованием файлов cookie (по умолчанию).
    • Абсолютный — указывает, что пользователь вынужден повторно пройти проверку подлинности после указанного периода времени.
  • Конфигурация единого входа. Для сеанса Azure Active Directory B2C можно настроить следующие области:

    • Клиент. Это значение по умолчанию. Если выбрано это значение, несколько приложений и потоков пользователя в клиенте B2C могут совместно использовать один и тот же сеанс пользователя. Например, когда пользователь входит в приложение, он также может одновременно с этим войти в другое приложение.
    • Приложение. Значение этого параметра позволяет поддерживать сеанс пользователя исключительно для одного приложения и независимо от других приложений. Например, этот параметр можно использовать, чтобы пользователь вошел в Contoso Pharmacy независимо от того, что он ранее вошел в Contoso Groceries.
    • Политика. Этот параметр позволяет поддерживать эксклюзивный сеанс пользователя для определенного потока пользователя, независимо от использующих его приложений. Например, Azure AD B2C предоставляет пользователю доступ к частям более высокого уровня безопасности нескольких приложений, если пользователь уже выполнил вход и завершил многофакторную проверку подлинности (MFA). Этот доступ продолжается до тех пор, пока сеанс, связанный с потоком пользователя, остается активным.
    • Подавлено. Пользователь должен проходить весь процесс авторизации при каждом исполнении политики.

Настройка потока пользователей

Чтобы настроить поведение сеанса в потоке пользователей, выполните следующие действия.

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
  3. Выберите Все службы в левом верхнем углу окна портала Azure, а затем найдите и выберите Azure AD B2C.
  4. Выберите Потоки пользователей.
  5. Откройте созданный ранее пользовательский поток.
  6. Выберите Свойства.
  7. Настройте параметры Время существования сеанса веб-приложения (в минутах), Время ожидания сеанса веб-приложения, Конфигурация единого входа и Требовать токен идентификатора в запросах выхода.
  8. Нажмите кнопку Сохранить.

Настройка пользовательской политики

Чтобы настроить поведение сеанса в настраиваемой политике, выполните следующие действия.

  1. Откройте файл проверяющей стороны (RP), например SignUpOrSignin.xml.

  2. Если он еще не существует, добавьте в следующий элемент <UserJourneyBehaviors> в элемент <RelyingParty>. Он должен располагаться сразу после <DefaultUserJourney ReferenceId="UserJourney Id"/>.

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

    После добавления элементов поведения пути пользователя элемент RelyingParty должен выглядеть, как в следующем примере:

    <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. Измените значение Scope атрибута на одно из возможных значений: Suppressed , Tenant , Application или Policy. Дополнительные сведения см. в справочной статье Проверяющая сторона.

  4. Установите элемент SessionExpiryType на значение Rolling или Absolute. Дополнительные сведения см. в справочной статье Проверяющая сторона.

  5. Задайте для элемента SessionExpiryInSeconds числовое значение в диапазоне от 900 секунд (15 минут) до 86 400 секунд (24 часа). Дополнительные сведения см. в справочной статье Проверяющая сторона.

Включение функции "Запомнить меня на этом компьютере"

Можно включить функцию "Запомнить меня на этом компьютере" для пользователе веб-приложений или собственных приложений, использующих локальный аккаунт в вашем каталоге Azure Active Directory B2C. Когда эта функция включена, пользователи смогут сохранять сеанс после закрытия браузера. Сеанс сохраняется путем установки постоянного файла cookie. Пользователи, которые выбрали KMSI, после повторного открытия браузера не получат повторный запрос для ввода имени пользователя и пароля. Этот доступ (постоянный файл cookie) отзывается, когда пользователь выходит из системы. Дополнительные сведения см. в статье Живая демонстрация.

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

Функция настраивается на уровне отдельных потоков пользователей. Прежде чем включить эту функцию для потоков пользователей, ознакомьтесь со следующими условиями:

  • Функция "Запомнить меня на этом компьютере" поддерживается только для Рекомендуемых версий потоков регистрации и входа в систему (SUSI), входа в систему и редактирования профиля. Если у вас есть стандартная (устаревшая версия) или предварительная версия прежних версий — версии 2 этих потоков пользователей и требуется включить KMSI, необходимо создать новые рекомендуемые версии этих потоков пользователей.
  • KMSI не поддерживается с сбросом пароля или потоками пользователей регистрации.
  • Чтобы включить функцию "Запомнить меня на этом компьютере" для всех приложений клиента, рекомендуется включить ее для всех потоков пользователей клиента. Так как пользователь во время сеанса может работать с несколькими политиками, вполне вероятно, что функция "Запомнить меня на этом компьютере" не будет включена для некоторых из них. При этом файл cookie будет удален из этого сеанса.
  • KMSI не следует включать на общедоступных компьютерах.

Настройка функции "Запомнить меня на этом компьютере" для потока пользователя

Чтобы включить функцию "Запомнить меня на этом компьютере" для потока пользователя, выполните следующие действия:

  1. Войдите на портал Azure.

  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.

  3. Выберите Все службы в левом верхнем углу окна портала Azure, а затем найдите и выберите Azure AD B2C.

  4. Выберите Потоки пользователей (политики).

  5. Откройте созданный ранее пользовательский поток.

  6. Выберите Свойства.

  7. В разделе Поведение сеанса выберите Включить функцию "Запомнить меня на этом компьютере". В поле с надписью Оставаться в системе (дней) введите значение от 1 до 90, чтобы задать количество дней, в течение которого сеанс будет оставаться открытым.

    Enable keep me signed in session

Пользователи не должны включать этот параметр на общедоступных компьютерах.

Настройка идентификатора страницы

Чтобы включить эту функцию, задайте определение содержимого DataUri равным идентификатору страницыunifiedssp и версию страницы1.1.0 или выше.

  1. Откройте файл расширения политики. Например, SocialAndLocalAccounts/TrustFrameworkExtensions.xml. Этот файл расширения является одним из файлов политики, включенных в начальный пакет настраиваемой политики, который вы получаете в предварительных требованиях, начало работы с настраиваемыми политиками.

  2. Найдите элемент BuildingBlocks. Если такой элемент не существует, добавьте его.

  3. Добавьте элемент ContentDefinitions в элемент BuildingBlocks политики.

    Настраиваемая политика должна выглядеть как следующий фрагмент кода.

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

Добавление метаданных в самостоятельно утвержденный технический профиль

Чтобы добавить флажок "Запомнить меня на этом компьютере" на страницу регистрации и входа, установите значение true для метаданных setting.enableRememberMe. Технические профили SelfAsserted-LocalAccountSignin-Email можно переопределить в файле расширения.

  1. Найдите элемент ClaimsProviders. Если такой элемент не существует, добавьте его.

  2. Добавьте следующие поставщики утверждений в элемент ClaimsProviders:

    <ClaimsProvider>
      <DisplayName>Local Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
          <Metadata>
            <Item Key="setting.enableRememberMe">True</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Сохраните файл расширений.

Создание файла проверяющей стороны

Обновите файл проверяющей стороны, который активирует созданный путь взаимодействия пользователя. Параметр keepAliveInDays позволяет настроить сохранение файла cookie сеанса входа (KMSI). Например, если задать значение 30, файл cookie сеанса KMSI сохраняется в течение 30 дней. Диапазон значений — от 1 до 90 дней. Если задать значение 0, функция "Оставаться в системе" будет отключена.

  1. Откройте файл настраиваемой политики. Например, SignUpOrSignin.xml.

  2. Если он еще не существует, добавьте дочерний узел <UserJourneyBehaviors> в узел <RelyingParty>. Он должен располагаться сразу после <DefaultUserJourney ReferenceId="User journey Id" />, например, <DefaultUserJourney ReferenceId="SignUpOrSignIn" />.

  3. Добавьте следующий узел в качестве дочернего узла элемента <UserJourneyBehaviors>.

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

Оба значения KeepAliveInDays и SessionExpiryInSeconds устанавливаются так, чтобы во время входа в систему, если пользователь включает KMSI, значение KeepAliveInDays будет использоваться для установки cookies, а в других случаях будет использоваться значение, указанное в параметре SessionExpiryInSeconds. Рекомендуется установить значение SessionExpiryInSeconds на короткий период (1200 секунд), в то время как значение KeepAliveInDays установлено на относительно длительный период (30 дней), как показано в следующем примере:

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

Выйти

Для выхода пользователя из приложения недостаточно очистить файлы cookie или каким-то другим образом завершить сеанс пользователя. Чтобы выйти из службы, необходимо перенаправить пользователя в Azure AD B2C. В противном случае пользователь может повторно пройти проверку подлинности в приложениях, не вводя учетные данные еще раз.

При запросе выхода, на Azure Active Directory B2C происходит следующее:

  1. Сеанс на основе файла cookie Azure Active Directory B2C станет недействительным.
  2. Попытка выхода из федеративных поставщиков удостоверений.
  1. Сеанс на основе файла cookie Azure Active Directory B2C станет недействительным.
  2. Пытается выйти из федеративных поставщиков удостоверений:
    • OpenID Connect — если конечная точка хорошо известной конфигурации поставщика удостоверений указывает на расположение end_session_endpoint. Запрос выхода не передает параметр id_token_hint. Если федеративный поставщик удостоверений требует этого параметра, запрос на выход завершается сбоем.
    • OAuth2 — если в метаданных поставщика удостоверений указано расположение end_session_endpoint.
    • SAML — если в метаданных поставщика удостоверений указано расположение SingleLogoutService.
  3. Опционально — выход из других приложений. Дополнительные сведения см. в разделе Единый выход.

Примечание.

Можно отключить функцию выхода из федеративных поставщиков удостоверений, задав для метаданных технического профиля поставщика удостоверений SingleLogoutEnabled значение false.

При выходе из системы будет очищено состояние функции единого входа пользователя в Azure Active Directory B2C, но в некоторых случаях сеанс поставщика удостоверений социальных сетей останется активным. Если пользователь выберет тот же поставщик удостоверений во время последующего входа, то он повторно пройдет проверку подлинности без ввода учетных данных. Если пользователь хочет выйти из приложения, это не означает, что он также хочет выйти из учетной записи Facebook. Однако если используются локальные учетные записи, то сеанс пользователя завершается правильно.

Единый выход

При перенаправлении пользователя в конечную точку выхода Azure Active Directory B2C (для OAuth2 и OpenID Connect) или отправке LogoutRequest (для SAML) Azure Active Directory B2C удалит сеанс пользователя из браузера. Тем не менее пользователь может оставаться вошедшим в другие приложения, использующие Azure Active Directory B2C для аутентификации. Для выхода пользователя из всех приложений, имеющих активный сеанс, Azure AD B2C поддерживает единый выход, также известный как единый выход (SLO).

Во время выхода Azure AD B2C одновременно отправляет HTTP-запрос в зарегистрированный URL-адрес выхода для всех приложений, в которые в данный момент вошел пользователь.

Конфигурация настраиваемой политики

Для поддержки единого выхода в технические профили издателя токенов для JWT и SAML необходимо задать:

  • Имя протокола, например <Protocol Name="OpenIdConnect" />
  • Ссылка на технический профиль сеанса, например UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />.

В следующем примере показаны издатели токенов JWT и SAML с единым выходом:

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

Настройка приложения

Чтобы приложение принимало участие в операциях единого выхода, выполните указанные ниже действия.

  • Для поставщиков служб SAML настройте приложение с использованием расположения SingleLogoutService в соответствующем документе метаданных SAML. Можно также настроить logoutUrl для регистрации приложения. Дополнительные сведения см. в разделе о задании URL-адреса выхода.
  • Для приложений OpenID Connect или OAuth2 задайте атрибут logoutUrl манифеста регистрации приложения. Чтобы настроить URL-адрес выхода, выполните следующие действия.
    1. В меню Azure AD B2C выберите Регистрация приложений.
    2. Выберите соответствующую регистрацию приложения.
    3. В разделе Управление выберите Проверка подлинности.
    4. В разделе Front-channel logout URL (URL-адрес выхода фронтального канала) настройте URL-адрес выхода.

Обработка запросов единого выхода

Когда Azure AD B2C получает запрос на выход, используется iframe HTML фронтального канала для отправки HTTP-запроса на зарегистрированный URL-адрес выхода для каждого участвующего приложения, в которое в данный момент вошел пользователь. Обратите внимание, что приложение, которое активирует запрос на выход, получает это сообщение об выходе. Приложения должны отвечать на запрос выхода, удалив сеанс приложения, идентифицирующий пользователя.

  • Для приложений OpenID Connect и OAuth2 служба Azure AD B2C отправляет HTTP-запрос GET на зарегистрированный URL-адрес выхода.
  • Для приложений SAML служба Azure AD B2C отправляет запрос на выход SAML на зарегистрированный URL-адрес выхода.

Когда Azure AD B2C уведомляет обо всех приложениях о выходе, он продолжает выполнять одно из следующих действий:

  • Для приложений OpenID Подключение или OAuth2 он перенаправляет пользователя на запрошенный post_logout_redirect_uri параметр, включая (необязательный) state параметр, указанный в первоначальном запросе. Например https://contoso.com/logout?state=foo.
  • Для приложений SAML он отправляет ответ выхода SAML через HTTP POST в приложение, которое первоначально отправил запрос на выход.

Защита перенаправления выхода

После выхода пользователь перенаправляется в URI, указанный в параметре post_logout_redirect_uri , независимо от URL-адресов ответа, указанных для приложения. Однако если передано допустимое значение id_token_hint, и включен параметр Требовать токен идентификатора в запросах выхода, Azure Active Directory B2C проверяет, соответствует ли значение post_logout_redirect_uri одному из настроенных URI перенаправления приложения перед выполнением перенаправления. Если для приложения не настроен соответствующий URL-адрес ответа, отображается сообщение об ошибке и пользователь не перенаправляется.

Чтобы затребовать токен идентификатора в запросах выхода:

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
  3. Выберите Все службы в левом верхнем углу окна портала Azure, а затем найдите и выберите Azure AD B2C.
  4. Выберите Потоки пользователей.
  5. Откройте созданный ранее пользовательский поток.
  6. Выберите Свойства.
  7. Включите параметр Требовать токен идентификатора в запросах выхода.

Чтобы требовать токен идентификатора в запросах выхода, добавьте элемент UserJourneyBehaviors в элемент RelyingParty. Затем задайте для EnforceIdTokenHintOnLogout в SingleSignOn значение true. Подробнее см. в статье Живая демонстрация. Элемент UserJourneyBehaviors должен выглядеть, как этом примере:

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

Чтобы настроить URL-адрес выхода из приложения, выполните следующие действия:

  1. Нажмите Регистрация приложений и выберите приложение.
  2. Выберите Проверка подлинности.
  3. В текстовом поле URL-адрес выхода введите URI перенаправления выхода и нажмите Сохранить.

Следующие шаги