MfaPolicyEvaluator

public actor MfaPolicyEvaluator : Sendable

The MFA Policy Evaluator is used by the SDK to enforce policy rules, such as device tampering policy. It consists of one or more MfaPolicy objects. Each policy contains instructions that determine whether it complies with a particular condition at a particular time.

This class provides a DSL-style configuration and can evaluate policies against credentials to determine compliance.

  • Evaluates policies for a credential with embedded policy configuration.

    Declaration

    Swift

    public func evaluate(credentialPolicies: String?) async -> MfaPolicyResult

    Parameters

    credentialPolicies

    JSON string containing policy configurations from the credential.

    Return Value

    MfaPolicyResult indicating compliance status.

  • Evaluates policies against a JSON configuration.

    Declaration

    Swift

    public func evaluate(policiesJson: [String : Any]) async -> MfaPolicyResult

    Parameters

    policiesJson

    Dictionary containing policy configurations.

    Return Value

    MfaPolicyResult indicating compliance status.

  • Returns all available policies in this evaluator.

    Declaration

    Swift

    public func getPolicies() -> [any MfaPolicy]

    Return Value

    An array of all configured policies.

  • Returns a specific policy by name.

    Declaration

    Swift

    public func getPolicy(policyName: String) -> (any MfaPolicy)?

    Parameters

    policyName

    The name of the policy to retrieve.

    Return Value

    The policy with the given name, or nil if not found.

DSL Configuration

  • Configuration builder for MfaPolicyEvaluator.

    See more

    Declaration

    Swift

    final class Config : @unchecked Sendable
  • Creates a new MfaPolicyEvaluator using a DSL-style configuration.

    Declaration

    Swift

    static func create(configure: @Sendable (Config) -> Void = { _ in }) -> MfaPolicyEvaluator

    Parameters

    configure

    Configuration block for setting up the evaluator.

    Return Value

    A new MfaPolicyEvaluator instance.