Принудительная двухфакторная аутентификация#
Процедура Require2ndFactor
требует двухфакторной аутентификации для
доступа к приложению. Если пользователь переходит в приложение в рамках
единой сессии, то при наличии одного пройденного фактора у него будет
дополнительно проверен второй фактор, т.е. SSO в этом случае не
сработает.
public class Require2ndFactor implements Strategy {
private final Logger logger = LoggerFactory.getLogger("com.identityblitz.idp.flow.dynamic");
@Override public StrategyBeginState begin(final Context ctx) {
if(ctx.claims("subjectId") != null){
if (ctx.sessionTrack().split(",").length < 2)
return StrategyState.MORE(new String[]{});
else
return StrategyState.ENOUGH();
}
else {
return StrategyState.MORE(new String[]{});
}
}
@Override public StrategyState next(final Context ctx) {
if(ctx.justCompletedFactor() == 1)
return StrategyState.MORE(new String[]{});
else
return StrategyState.ENOUGH();
}
}