Что ж, в документации CAS упоминается, что возможно включить меню выбора поставщика, если разрешено более одного, просто добавив следующие свойства:
Пока все хорошо.
Итак, моя конфигурация следующая:
В этом проблема. Вы не разрешаете / запускаете более одного поставщика. Вы начинаете с mfa-gauth
, а затем переопределяете его с mfa-simple
. В CAS 6.1.x globalProviderId
принимает только один идентификатор. Это не список или контейнер любого типа, который может принимать более одного значения. Эта проблема будет решена в следующем выпуске.
В настоящее время для разрешения более чем одного поставщика вам нужно будет назначить поставщиков MFA зарегистрированному определению службы. Например:
{
"@class": "org.apereo.cas.services.RegexRegisteredService",
"serviceId": "^(https|imaps)://.*",
"name": "Example",
"id": 1,
"description": "This service definition defines a service.",
"evaluationOrder": 1,
"multifactorPolicy" : {
"@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy",
"multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [ "mfa-duo", "mfa-gauth" ] ]
}
}
Это означает, что выбор поставщика может быть включен для каждого приложения. В качестве альтернативы, вы можете написать небольшой скрипт groovy, чтобы вернуть более одного провайдера обратно в CAS, позволяя меню выбора отображать пункты меню.
Прочитайте этот пост для получения полной информации.