WSO2 Имя пользователя совпадает между шагами MFA - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть поставщик услуг CAS, и мне нужно добавить многофакторную аутентификацию через AzureAD.У меня он настроен и «работает», но пользователь может указать разные учетные записи для получения доступа, и Я хочу, чтобы они использовали одно и то же имя пользователя как в CAS (шаг 1 MFA), так и в AzureAD (шаг 2 MFA) .

Я рассмотрел политики XACML, но я не нашел никакой документации, которая указывала бы, что политики могут оценивать атрибуты из нескольких методов аутентификации.Я что-то упустил или политика XACML является неправильной технологией для выполнения нашего случая использования одного и того же имени пользователя в обоих методах аутентификации?

1 Ответ

0 голосов
/ 01 марта 2019

Да, вы не можете использовать XACML для достижения этого варианта использования.Поскольку это политика XACML, может применяться после полной аутентификации, но этот вариант использования находится внутри потока аутентификации.

Если вы используете WSO2 IS 5.7.0, вы можете добиться этого варианта использования, используя адаптивную аутентификацию скрипты

Вам нужно просто написать скрипт аутентификации для сравнения имени пользователяиз обоих шагов

function onLoginRequest(context) {
    executeStep(1, {
        onSuccess: function (context) {
            executeStep(2, {
                onSuccess: function (context){
                    if (!context.steps[1].subject.username != context.steps[2].subject.username) {
                        // 
                        sendError('http://www.example.com/error',{'errorcode':'000403','errorMsg':'You are not allowed to login to this app.'});
                     }
                }
            });
        }
    });
}

Если вы используете более старые версии IS, вам нужно написать собственный аутентификатор для той же логики и добавить в IS.Затем добавьте этот аутентификатор как третий шаг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...