cas>find --name mfa.provider
Property: cas.authn.adaptive.risk.response.mfa-provider
Group: cas.authn.adaptive.risk.response
Default Value: [blank]
Type: java.lang.String
Summary: If an authentication attempt is deemed risky, force a multi-factor authentication event noted by the provider id here.
Description: If an authentication attempt is deemed risky, force a multi-factor authentication event noted by the provider id here.
Deprecated: no
----------------------------------------------------------------------
Property: cas.authn.mfa.provider-selector-groovy-script
Group: cas.authn.mfa
Default Value: [blank]
Type: org.springframework.core.io.Resource
Summary: In the event that multiple multifactor authentication providers are determined for a multifactor authentication transaction, by default CAS will attempt to sort the collection of providers based on their rank and will pick one with the highest priority.
Description: In the event that multiple multifactor authentication providers are determined for a multifactor authentication transaction, by default CAS will attempt to sort the collection of providers based on their rank and will pick one with the highest priority. This use case may arise if multiple triggers are defined where each decides on a different multifactor authentication provider, or the same provider instance is configured multiple times with many instances. Provider selection may also be carried out using Groovy scripting strategies more dynamically. The following example should serve as an outline of how to select multifactor providers based on a Groovy script.
Deprecated: no
----------------------------------------------------------------------
Property: cas.authn.mfa.provider-selection-enabled
Group: cas.authn.mfa
Default Value: false
Type: java.lang.Boolean
Summary: In the event that multiple multifactor authentication providers are determined for a multifactor authentication transaction, this setting will allow one to interactively choose a provider out of the list of available providers.
Description: In the event that multiple multifactor authentication providers are determined for a multifactor authentication transaction, this setting will allow one to interactively choose a provider out of the list of available providers. A trigger may be designed to support more than one provider, and rather than letting CAS auto-determine the selected provider via scripts or ranking strategies, this method puts the choice back onto the user to decide which provider makes the most sense at any given time.
Deprecated: no
JSON output from cas-management, changed sensitive info
{
@class: org.apereo.cas.services.RegexRegisteredService
name: SAMPLE
id: 1
expirationPolicy:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceExpirationPolicy
deleteWhenExpired: false
notifyWhenDeleted: false
notifyWhenExpired: false
}
proxyPolicy:
{
@class: org.apereo.cas.services.RefuseRegisteredServiceProxyPolicy
}
proxyTicketExpirationPolicy:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceProxyTicketExpirationPolicy
numberOfUses: 0
}
serviceTicketExpirationPolicy:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceServiceTicketExpirationPolicy
numberOfUses: 0
}
evaluationOrder: 1
usernameAttributeProvider:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider
canonicalizationMode: NONE
encryptUsername: false
}
logoutType: BACK_CHANNEL
requiredHandlers:
[
java.util.HashSet
[]
]
environments:
[
java.util.HashSet
[]
]
attributeReleasePolicy:
{
@class: org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy
principalAttributesRepository:
{
@class: org.apereo.cas.authentication.principal.DefaultPrincipalAttributesRepository
mergingStrategy: MULTIVALUED
ignoreResolvedAttributes: false
}
consentPolicy:
{
@class: org.apereo.cas.services.consent.DefaultRegisteredServiceConsentPolicy
enabled: true
order: 0
}
authorizedToReleaseCredentialPassword: false
authorizedToReleaseProxyGrantingTicket: false
excludeDefaultAttributes: false
authorizedToReleaseAuthenticationAttributes: true
order: 0
allowedAttributes:
[
java.util.ArrayList
[
mail
cn
groupMembership
]
]
}
multifactorPolicy:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy
multifactorAuthenticationProviders:
[
java.util.HashSet
[
mfa-gauth
mfa-yubikey
]
]
failureMode: PHANTOM ( also tried with CLOSED to no avail)
principalAttributeNameTrigger: groupMembership
principalAttributeValueToMatch: cn=SOME_GROUP_DN
bypassEnabled: false
forceExecution: false
bypassTrustedDeviceEnabled: false
}
accessStrategy:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy
order: 0
enabled: true
ssoEnabled: true
delegatedAuthenticationPolicy:
{
@class: org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy
allowedProviders:
[
java.util.ArrayList
[]
]
permitUndefined: true
exclusive: false
}
requireAllAttributes: true
requiredAttributes:
{
@class: java.util.LinkedHashMap
}
rejectedAttributes:
{
@class: java.util.LinkedHashMap
}
caseInsensitive: false
}
properties:
{
@class: java.util.LinkedHashMap
}
contacts:
[
java.util.ArrayList
[]
]
}