Package org.apereo.cas.authentication
Class MultifactorAuthenticationUtils
- java.lang.Object
-
- org.apereo.cas.authentication.MultifactorAuthenticationUtils
-
public class MultifactorAuthenticationUtils extends java.lang.ObjectThis isMultifactorAuthenticationUtils.- Since:
- 5.2.0
-
-
Constructor Summary
Constructors Constructor Description MultifactorAuthenticationUtils()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.Map<java.lang.String,java.lang.Object>buildEventAttributeMap(org.apereo.cas.authentication.principal.Principal principal, java.util.Optional<org.apereo.cas.services.RegisteredService> service, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider)Build event attribute map map.static java.util.Set<org.springframework.webflow.execution.Event>evaluateEventForProviderInContext(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService service, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider)Evaluate event for provider in context set.static java.util.Map<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider>getAvailableMultifactorAuthenticationProviders(org.springframework.context.ApplicationContext applicationContext)Gets all multifactor authentication providers from application context.static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider>getMultifactorAuthenticationProviderById(java.lang.String providerId, org.springframework.context.ApplicationContext context)Method returns an Optional that will contain aMultifactorAuthenticationProviderthat has the same id as the passed providerId parameter.java.util.Collection<org.apereo.cas.authentication.MultifactorAuthenticationProvider>getMultifactorAuthenticationProviderForService(org.apereo.cas.services.RegisteredService service, org.springframework.context.ApplicationContext applicationContext)Gets authentication provider for service.static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider>getMultifactorAuthenticationProviderFromApplicationContext(java.lang.String providerId)Find the MultifactorAuthenticationProvider in the application contact that matches the specified providerId (e.g.static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider>getMultifactorAuthenticationProviderFromApplicationContext(java.lang.String providerId, org.springframework.context.ApplicationContext applicationContext)Gets multifactor authentication provider from application context.static java.util.Set<org.springframework.webflow.execution.Event>resolveEventViaMultivaluedAttribute(org.apereo.cas.authentication.principal.Principal principal, java.lang.Object attributeValue, org.apereo.cas.services.RegisteredService service, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider, java.util.function.BiPredicate<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> predicate)Resolve event via multivalued attribute set.static java.util.Set<org.springframework.webflow.execution.Event>resolveEventViaSingleAttribute(org.apereo.cas.authentication.principal.Principal principal, java.lang.Object providedAttributeValue, org.apereo.cas.services.RegisteredService service, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider, java.util.function.BiPredicate<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> predicate)Resolve event via single attribute set.static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider>resolveProvider(java.util.Map<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> providers, java.lang.String requestMfaMethod)Resolve provider optional.static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider>resolveProvider(java.util.Map<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> providers, java.util.Collection<java.lang.String> requestMfaMethod)Resolve provider optional.static org.springframework.webflow.execution.EventvalidateEventIdForMatchingTransitionInContext(java.lang.String eventId, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, java.util.Map<java.lang.String,java.lang.Object> attributes)Validate event id for matching transition in context event.
-
-
-
Method Detail
-
buildEventAttributeMap
public static java.util.Map<java.lang.String,java.lang.Object> buildEventAttributeMap(org.apereo.cas.authentication.principal.Principal principal, java.util.Optional<org.apereo.cas.services.RegisteredService> service, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider)Build event attribute map map.- Parameters:
principal- the principalservice- the serviceprovider- the provider- Returns:
- the map
-
validateEventIdForMatchingTransitionInContext
public static org.springframework.webflow.execution.Event validateEventIdForMatchingTransitionInContext(java.lang.String eventId, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, java.util.Map<java.lang.String,java.lang.Object> attributes)Validate event id for matching transition in context event.- Parameters:
eventId- the event idcontext- the contextattributes- the attributes- Returns:
- the event
-
resolveEventViaMultivaluedAttribute
public static java.util.Set<org.springframework.webflow.execution.Event> resolveEventViaMultivaluedAttribute(org.apereo.cas.authentication.principal.Principal principal, java.lang.Object attributeValue, org.apereo.cas.services.RegisteredService service, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider, java.util.function.BiPredicate<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> predicate)Resolve event via multivalued attribute set.- Parameters:
principal- the principalattributeValue- the attribute valueservice- the servicecontext- the contextprovider- the providerpredicate- the predicate- Returns:
- the set
-
resolveProvider
public static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider> resolveProvider(java.util.Map<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> providers, java.util.Collection<java.lang.String> requestMfaMethod)Resolve provider optional.- Parameters:
providers- the providersrequestMfaMethod- the request mfa method- Returns:
- the optional
-
resolveProvider
public static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider> resolveProvider(java.util.Map<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> providers, java.lang.String requestMfaMethod)Resolve provider optional.- Parameters:
providers- the providersrequestMfaMethod- the request mfa method- Returns:
- the optional
-
resolveEventViaSingleAttribute
public static java.util.Set<org.springframework.webflow.execution.Event> resolveEventViaSingleAttribute(org.apereo.cas.authentication.principal.Principal principal, java.lang.Object providedAttributeValue, org.apereo.cas.services.RegisteredService service, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider, java.util.function.BiPredicate<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> predicate)Resolve event via single attribute set.- Parameters:
principal- the principalprovidedAttributeValue- the attribute valueservice- the servicecontext- the contextprovider- the providerpredicate- the predicate- Returns:
- the set
-
getMultifactorAuthenticationProviderForService
public java.util.Collection<org.apereo.cas.authentication.MultifactorAuthenticationProvider> getMultifactorAuthenticationProviderForService(org.apereo.cas.services.RegisteredService service, org.springframework.context.ApplicationContext applicationContext)Gets authentication provider for service.- Parameters:
service- the serviceapplicationContext- the application context- Returns:
- the authentication provider for service
-
getMultifactorAuthenticationProviderFromApplicationContext
public static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider> getMultifactorAuthenticationProviderFromApplicationContext(java.lang.String providerId)
Find the MultifactorAuthenticationProvider in the application contact that matches the specified providerId (e.g. "mfa-duo").- Parameters:
providerId- the provider id- Returns:
- the registered service multifactor authentication provider
-
getMultifactorAuthenticationProviderFromApplicationContext
public static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider> getMultifactorAuthenticationProviderFromApplicationContext(java.lang.String providerId, org.springframework.context.ApplicationContext applicationContext)Gets multifactor authentication provider from application context.- Parameters:
providerId- the provider idapplicationContext- the application context- Returns:
- the multifactor authentication provider from application context
-
evaluateEventForProviderInContext
public static java.util.Set<org.springframework.webflow.execution.Event> evaluateEventForProviderInContext(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService service, java.util.Optional<org.springframework.webflow.execution.RequestContext> context, org.apereo.cas.authentication.MultifactorAuthenticationProvider provider)Evaluate event for provider in context set.- Parameters:
principal- the principalservice- the servicecontext- the contextprovider- the provider- Returns:
- the set
-
getAvailableMultifactorAuthenticationProviders
public static java.util.Map<java.lang.String,org.apereo.cas.authentication.MultifactorAuthenticationProvider> getAvailableMultifactorAuthenticationProviders(org.springframework.context.ApplicationContext applicationContext)
Gets all multifactor authentication providers from application context.- Parameters:
applicationContext- the application context- Returns:
- the all multifactor authentication providers from application context
-
getMultifactorAuthenticationProviderById
public static java.util.Optional<org.apereo.cas.authentication.MultifactorAuthenticationProvider> getMultifactorAuthenticationProviderById(java.lang.String providerId, org.springframework.context.ApplicationContext context)Method returns an Optional that will contain aMultifactorAuthenticationProviderthat has the same id as the passed providerId parameter.- Parameters:
providerId- - the id to matchcontext- - ApplicationContext- Returns:
- - Optional
-
-