Вы используете неправильный метод для тестирования функции KMSI.
Если вы «Запустите пользовательскую политику еще раз», она всегда попросит вас повторно ввести свои учетные данные, что является внутренним.
Вы должны выполнить шаги Проверьте свою политику .
Вы можете закрыть окно после первого входа в систему. А затем выполните шаги 4, 5 и 6:
Go вернуться на портал Azure. Go на страницу политики, а затем выберите Копировать , чтобы скопировать URL для входа. В адресной строке браузера удалите параметр строки запроса &prompt=login
, который вызывает Пользователь вводит свои учетные данные по этому запросу. В браузере нажмите Go. Теперь Azure AD B2 C выдаст токен доступа, не требуя повторной регистрации.
ОБНОВЛЕНИЕ:
Вам не нужно заменять SignUpOrSignin.xml
и TrustFrameworkExtensions.xml
. Просто обратитесь к моим изменениям:
Добавьте следующий фрагмент кода в элемент BuildingBlocks в TrustFrameworkExtensions.xml
.
<ContentDefinitions>
<ContentDefinition Id="api.signuporsignin">
<LoadUri>~/tenant/default/unified.cshtml</LoadUri>
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0</DataUri>
<Metadata>
<Item Key="DisplayName">Signin and Signup</Item>
</Metadata>
</ContentDefinition>
</ContentDefinitions>
И затем добавьте следующий узел как дочерний элемента. Он должен быть расположен сразу после <DefaultUserJourney ReferenceId="User journey Id" />
.
<UserJourneyBehaviors>
<SingleSignOn Scope="Tenant" KeepAliveInDays="30" />
<SessionExpiryType>Absolute</SessionExpiryType>
<SessionExpiryInSeconds>1200</SessionExpiryInSeconds>
</UserJourneyBehaviors>
Это все необходимые изменения.
Вам не нужно удалять &prompt=login
в файлах. Пожалуйста, смотрите мой скриншот выше. После копирования URL-адреса для входа это будет выглядеть следующим образом:
https://**.b2clogin.com/**.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1A_SignUpOrSignIn&client_id=**&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
Просто удалите &prompt=login
в конце URL-адреса и получите доступ к нему в новом окне.