Страница пользовательских ошибок Azure Active Directory B2C игнорируется - PullRequest
0 голосов
/ 28 июня 2018

У нас есть собственная политика входа / регистрации Azure AD B2C (на основе SAML, политика по умолчанию не делает то, что нам нужно).

Мы можем настроить пользовательский интерфейс страницы в соответствии с определением содержимого, например:

<ContentDefinition Id="api.localaccountsignin">
  <LoadUri>https://example.com/SAMLSignIn.html</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0</DataUri>
  <Metadata>
    <Item Key="DisplayName">Local account sign in page</Item>
  </Metadata>
</ContentDefinition>

Но при попытке настроить страницу ошибки, через:

<ContentDefinition Id="api.error">
  <LoadUri>https://example.com/SAMLErrorPage.html</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:globalexception:1.1.0</DataUri>
  <Metadata>    
    <Item Key="DisplayName">Error page</Item>
  </Metadata>
</ContentDefinition>

ничего не меняет. Страница SAMLSignIn.html все еще используется (хотя и с содержимым ошибки входа в систему). Это происходит независимо от того, проводим ли мы тестирование с неверными именами пользователей, плохими паролями и т.

Четная настройка

<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>

в соответствующем <ValidationTechnicalProfile> не вызывает ошибку.

Путь пользователя, как видно из ApplicationInsights, показывает только Web.TPEngine.Providers.BadArgumentRetryNeededException; другие ошибки или исключения не регистрируются.

Как может привести к тому, что пользовательская страница ошибки будет использоваться при неудачном входе (по какой-либо причине)?

Документация, как она есть, предполагает, что мы поступаем правильно (как и Как создать пользовательскую страницу ошибок в Azure AD B2C | Пользовательские политики ). Я не могу найти ни одного предложения о том, что нам нужно указывать пользовательскую обработку ошибок в UserJourney, ни каких-либо средств, с помощью которых мы могли бы сделать это, если бы захотели.

1 Ответ

0 голосов
/ 28 июня 2018

Подведем итог:

Вы используете вход в локальную учетную запись с эмитентом SAML. Это позволяет выполнить вход на странице входа в Azure AD B2C. Сообщения об ошибках, которые вы видите, являются обычными сообщениями об ошибках проверки. Все это происходит на странице входа, а не на странице ошибок. Содержимое ошибки используется механизмом только в том случае, если необработанное исключение прерывает выполнение пользовательского пути. Что не относится к обычному входу в систему.

Ваш вариант настройки ошибок проверки ограничен использованием чистого CSS на странице входа.

Действительно сложная настройка продемонстрирована здесь

Документ, описывающий настройку пользовательского интерфейса в целом, здесь

И настройка пользовательского интерфейса с использованием пользовательской политики здесь

В ваших силах появиться несколько хороших сообщений об ошибках, подобных этим:

enter image description here

...