getErrIdFromMessage($msg)) { case self::INVALIDSTATE: return $lang->translateString('D3_WEBAUTHN_ERR_INVALIDSTATE', null, true); case self::NOTALLWED: return $lang->translateString('D3_WEBAUTHN_ERR_NOTALLOWED', null, true); case self::ABORT: return $lang->translateString('D3_WEBAUTHN_ERR_ABORT', null, true); case self::CONSTRAINT: return $lang->translateString('D3_WEBAUTHN_ERR_CONSTRAINT', null, true); case self::NOTSUPPORTED: return $lang->translateString('D3_WEBAUTHN_ERR_NOTSUPPORTED', null, true); case self::UNKNOWN: return $lang->translateString('D3_WEBAUTHN_ERR_UNKNOWN', null, true); case self::NOPUBKEYSUPPORT: return $lang->translateString('D3_WEBAUTHN_ERR_NOPUBKEYSUPPORT', null, true); // ToDo: translate messages from Webauthn package like "The credential ID is invalid." } return $msg; } /** * @param string $msg * @return string */ public function getErrIdFromMessage(string $msg): string { return trim(strtolower(substr($msg, 0, strpos($msg, ':')))); } }