static public function getInternalToken() {
        static $token;
        if (is_null($token)) {
            $payload = [
                "exp" => time() + Moment::ONEHOUR,
                "sub" => Util::getModuleId() . "@" . Util::getApplicationId()
            ];
            $secret = self::getSecret(self::CONF_INTERNAL_SECRET_NAME);
            $token = \Firebase\JWT\JWT::encode($payload, $secret, self::ALG);
        }
        return $token;
    }