Class SecondFactorOnlyCredentialPolicyRule
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.plugin.authn.webauthn.policy.impl.AbstractCredentialPolicyRule
net.shibboleth.idp.plugin.authn.webauthn.policy.impl.SecondFactorOnlyCredentialPolicyRule
- All Implemented Interfaces:
CredentialPolicy,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
A
CredentialPolicy that rejects credentials used in sole-factor mode if created by authenticators which
should only be used for second factor authentication.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.shibboleth.idp.plugin.authn.webauthn.policy.CredentialPolicy
CredentialPolicy.CredentialPolicyOutcome -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.private Set<com.yubico.fido.metadata.AAGUID>A set of authenticators that should only be used for second factor authentication, based on their AAGUID. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoEvaluate(EnhancedCredentialRecord credential, ProfileRequestContext prc, WebAuthnAuthenticationContext webAuthnContext) Execute the policy.voidsetSecondFactorOnlyAuthenticators(Set<String> allowed) Set the authenticators that should only be used for second factor authentication based on their AAGUID.Methods inherited from class net.shibboleth.idp.plugin.authn.webauthn.policy.impl.AbstractCredentialPolicyRule
evaluate, getFidoMetadataService, setActivationCondition, setActivationConditionStrategy, setFidoMetadataService, setWebAuthnContextLookupStrategyMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
setIdMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentExceptionMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.IdentifiedComponent
getId
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
secondFactorOnlyAuthenticators
@Nonnull @NotLive @Unmodifiable private Set<com.yubico.fido.metadata.AAGUID> secondFactorOnlyAuthenticatorsA set of authenticators that should only be used for second factor authentication, based on their AAGUID.
-
-
Constructor Details
-
SecondFactorOnlyCredentialPolicyRule
public SecondFactorOnlyCredentialPolicyRule()Constructor.
-
-
Method Details
-
setSecondFactorOnlyAuthenticators
Set the authenticators that should only be used for second factor authentication based on their AAGUID.- Parameters:
allowed- The second factor authenticators to set.
-
doEvaluate
public CredentialPolicy.CredentialPolicyOutcome doEvaluate(@Nonnull EnhancedCredentialRecord credential, @Nonnull ProfileRequestContext prc, @Nonnull WebAuthnAuthenticationContext webAuthnContext) Execute the policy. Implementations should override this method.- Specified by:
doEvaluatein classAbstractCredentialPolicyRule- Parameters:
credential- the credential to check the policy rules forprc- the profile request contextwebAuthnContext- the WebAuthn authentication context- Returns:
- the credential policy outcome
-