public static function generateToken(array $options): string
    {
        $issuedAt = time();
        $expire = $issuedAt + $options['expiration_sec']; // tempo de expiracao do token

        $tokenParam = [
            'iat' => $issuedAt, // timestamp de geracao do token
            'iss' => $options['host'], // dominio, pode ser usado para descartar tokens de outros dominios
            'exp' => $expire, // expiracao do token
            'nbf' => $issuedAt - 1, // token nao eh valido Antes de
            'data' => $options['userdata'], // Dados do usuario logado
        ];

        return JWT::encode($tokenParam, cfg::SALT_KEY);
    }