package com.airlock.iam.factor.domain.model.fido;

import com.airlock.iam.base.misc.log.LogUtil;

public record FidoClientFailure(FidoClientFailure.FidoClientFailureReason reason, String message) {
   public FidoClientFailure(FidoClientFailure.FidoClientFailureReason reason, String message) {
      this.reason = reason;
      this.message = LogUtil.logSafeString(message);
   }

   public enum FidoClientFailureReason {
      ABORTED,
      NOT_ALLOWED,
      NOT_SUPPORTED,
      NO_WEB_AUTHN,
      UNKNOWN;
   }
}
