<?php declare(strict_types = 0);
class CAuthenticationHelper {
public const AUTHENTICATION_TYPE = 'authentication_type';
public const DISABLED_USER_GROUPID = 'disabled_usrgrpid';
public const HTTP_AUTH_ENABLED = 'http_auth_enabled';
public const HTTP_CASE_SENSITIVE = 'http_case_sensitive';
public const HTTP_LOGIN_FORM = 'http_login_form';
public const HTTP_STRIP_DOMAINS = 'http_strip_domains';
public const JIT_PROVISION_INTERVAL = 'jit_provision_interval';
public const LDAP_AUTH_ENABLED = 'ldap_auth_enabled';
public const LDAP_USERDIRECTORYID = 'ldap_userdirectoryid';
public const LDAP_CASE_SENSITIVE = 'ldap_case_sensitive';
public const LDAP_JIT_STATUS = 'ldap_jit_status';
public const PASSWD_CHECK_RULES = 'passwd_check_rules';
public const PASSWD_MIN_LENGTH = 'passwd_min_length';
public const SAML_AUTH_ENABLED = 'saml_auth_enabled';
public const SAML_CASE_SENSITIVE = 'saml_case_sensitive';
public const SAML_JIT_STATUS = 'saml_jit_status';
public const MFA_STATUS = 'mfa_status';
public const MFAID = 'mfaid';
private static $params = [];
private static $params_public = [];
protected static array $userdirectory_params = [];
public static function get(string $field): string {
self::$params = API::Authentication()->get(['output' => CAuthentication::getOutputFields()]);
if (self::$params === false) {
throw new Exception(_('Unable to load authentication API parameters.'));