Пример MFA скрипта для отключения второго фактора у определенной группы пользователей

У примера следующая логика:

Если пользователей входит в группу “test_group”, то у пользователя будет запрашиваться только логин и пароль.
Если пользователь не входит в группу “test_group”, то у пользователя будет запрашиваться логин и пароль и TOTP фактор.

var user = context.GetUser();
var req = context.GetRequest();

var PWD_group = 'test_group';

var hasPWDGroup = false;

if (typeof user === 'undefined') {
    context.AddStep([{ factor: "pwd" }]);
} else {
    context.AddStep([{ factor: "pwd" }]);
    var len_group_array = user.Groups.length;
    var group_array = user.Groups;
    for (var i = 0; i < len_group_array; i++) {
        if (group_array[i].Name === PWD_group) {
            console.log("Find PWD group for user:" + user.Name + req.IPAddress);
            hasPWDGroup = true; 
            break;
        }
    }
    if (hasPWDGroup === false){
        context.AddStep([{ factor: "totp" }]);
    }
}