use of org.springframework.webflow.engine.support.DefaultTransitionCriteria in project cas by apereo.
the class RadiusConfigurationTests method verifyAccessChallengedWebflowEventResolver.
@Test
public void verifyAccessChallengedWebflowEventResolver() {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
var result = radiusAccessChallengedAuthenticationWebflowEventResolver.getObject().resolve(context);
assertNull(result);
val principal = CoreAuthenticationTestUtils.getPrincipal("casuser", CollectionUtils.wrap(Attr_ReplyMessage.NAME, "Reply-Back", Attr_State.NAME, "State".getBytes(StandardCharsets.UTF_8)));
WebUtils.putAuthentication(CoreAuthenticationTestUtils.getAuthentication(principal), context);
TestMultifactorAuthenticationProvider.registerProviderIntoApplicationContext(applicationContext);
val targetResolver = new DefaultTargetStateResolver(TestMultifactorAuthenticationProvider.ID);
val transition = new Transition(new DefaultTransitionCriteria(new LiteralExpression(TestMultifactorAuthenticationProvider.ID)), targetResolver);
context.getRootFlow().getGlobalTransitionSet().add(transition);
result = radiusAccessChallengedAuthenticationWebflowEventResolver.getObject().resolve(context);
assertEquals(1, result.size());
assertEquals(TestMultifactorAuthenticationProvider.ID, result.iterator().next().getId());
}
use of org.springframework.webflow.engine.support.DefaultTransitionCriteria in project cas by apereo.
the class AuthenticationAttributeMultifactorAuthenticationPolicyEventResolverTests method verifyOperation.
@Test
public void verifyOperation() {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
val registeredService = RegisteredServiceTestUtils.getRegisteredService();
servicesManager.save(registeredService);
WebUtils.putRegisteredService(context, registeredService);
WebUtils.putAuthentication(RegisteredServiceTestUtils.getAuthentication(), context);
WebUtils.putServiceIntoFlowScope(context, RegisteredServiceTestUtils.getService());
var results = authenticationAttributeMultifactorAuthenticationPolicyEventResolver.resolve(context);
assertNull(results);
val targetResolver = new DefaultTargetStateResolver(TestMultifactorAuthenticationProvider.ID);
val transition = new Transition(new DefaultTransitionCriteria(new LiteralExpression(TestMultifactorAuthenticationProvider.ID)), targetResolver);
context.getRootFlow().getGlobalTransitionSet().add(transition);
TestMultifactorAuthenticationProvider.registerProviderIntoApplicationContext(applicationContext);
val authn = RegisteredServiceTestUtils.getAuthentication();
authn.getAttributes().put("authn-method-dummy", List.of("mfa-dummy"));
WebUtils.putAuthentication(authn, context);
results = authenticationAttributeMultifactorAuthenticationPolicyEventResolver.resolve(context);
assertNotNull(results);
assertEquals(1, results.size());
assertEquals(TestMultifactorAuthenticationProvider.ID, results.iterator().next().getId());
}
use of org.springframework.webflow.engine.support.DefaultTransitionCriteria in project cas by apereo.
the class RequestHeaderMultifactorAuthenticationPolicyEventResolverTests method verifyOperation.
@Test
public void verifyOperation() {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
val service = RegisteredServiceTestUtils.getRegisteredService();
servicesManager.save(service);
WebUtils.putRegisteredService(context, service);
WebUtils.putAuthentication(RegisteredServiceTestUtils.getAuthentication(), context);
WebUtils.putServiceIntoFlowScope(context, RegisteredServiceTestUtils.getService());
var results = requestHeaderAuthenticationPolicyWebflowEventResolver.resolve(context);
assertNull(results);
val targetResolver = new DefaultTargetStateResolver(TestMultifactorAuthenticationProvider.ID);
val transition = new Transition(new DefaultTransitionCriteria(new LiteralExpression(TestMultifactorAuthenticationProvider.ID)), targetResolver);
context.getRootFlow().getGlobalTransitionSet().add(transition);
TestMultifactorAuthenticationProvider.registerProviderIntoApplicationContext(applicationContext);
request.addHeader(casProperties.getAuthn().getMfa().getTriggers().getHttp().getRequestHeader(), TestMultifactorAuthenticationProvider.ID);
results = requestHeaderAuthenticationPolicyWebflowEventResolver.resolve(context);
assertNotNull(results);
assertEquals(1, results.size());
assertEquals(TestMultifactorAuthenticationProvider.ID, results.iterator().next().getId());
}
use of org.springframework.webflow.engine.support.DefaultTransitionCriteria in project cas by apereo.
the class MultifactorAuthenticationUtilsTests method verifyResolveBySingleAttribute.
@Test
public void verifyResolveBySingleAttribute() {
val applicationContext = new StaticApplicationContext();
applicationContext.refresh();
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
ApplicationContextProvider.holdApplicationContext(applicationContext);
val provider = TestMultifactorAuthenticationProvider.registerProviderIntoApplicationContext(applicationContext);
assertTrue(MultifactorAuthenticationUtils.getMultifactorAuthenticationProviderFromApplicationContext(provider.getId()).isPresent());
val targetResolver = new DefaultTargetStateResolver(TestMultifactorAuthenticationProvider.ID);
val transition = new Transition(new DefaultTransitionCriteria(new LiteralExpression(TestMultifactorAuthenticationProvider.ID)), targetResolver);
context.getRootFlow().getGlobalTransitionSet().add(transition);
val result = MultifactorAuthenticationUtils.resolveEventViaSingleAttribute(MultifactorAuthenticationTestUtils.getPrincipal("casuser"), List.of("mfa-value1"), MultifactorAuthenticationTestUtils.getRegisteredService(), Optional.of(context), provider, (s, mfaProvider) -> RegexUtils.find("mismatch-.+", s));
assertNull(result);
}
Aggregations