Я использую настраиваемые политики, и все работает отлично, за исключением того, что я не понимаю следующего странного поведения введенного HTML. Я работаю над процессом сброса пароля и адаптировал стартовый пакет.
В ContentDefinition
и независимо от версии макета (здесь 2.1.2, но проблема возникает и для 2.1.0)
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.2</DataUri>
Я получаю другой введенный HTML-код только в зависимости от того, использую ли я страницу по умолчанию
<LoadUri>~/tenant/templates/AzureBlue/selfAsserted.cshtml</LoadUri>
или мой собственный,
<LoadUri>https://mytenant.blob.core.windows.net/b2cweb/selfasserted.html</LoadUri>
Но эта настраиваемая страница содержит точно такой же HTML-код, что и страница AzureBlue. В частности, я перешел на страницу /tenant/templates/AzureBlue/selfAsserted.cshtml
, скопировал содержимое html и вставил его в свой собственный файл в blobstorage.
Ожидаемый результат
Я ожидаю, что html-страница, на которой вводится div id = api, будет точно такой же, если я назову LoadUri один или два. Больше ничего в файлах настраиваемой политики не изменяется.
Результат
- Если я использую значение по умолчанию
LoadUri
, кнопка отмены отображается чуть ниже div id = api, как и ожидалось для правильного формата документа html.
- Если я использую свою настраиваемую страницу, которая снова содержит тот же html, но живет в blobstorage, кнопка отмены появляется под кнопкой продолжения в html (но отображается сверху через абсолютное позиционирование css)
Также обратите внимание на появление пустого div с кнопками class = в начале div id = api.
Мне нужно понять, что происходит, с целью понимания, и в идеале я хотел бы, чтобы сгенерированная кнопка отмены выглядела так же, как AzureBlue по умолчанию.
Я проверил, что старый классический пользовательский поток помещает кнопку внизу, поэтому я как будто использую версию 1.2.0, но только для своей настраиваемой страницы, тогда как мое определение содержимого всегда 2.1.2 или 2.1.1.