protected function computeJwt()
    {
        $payload = [
            'iss' => $this->config->get('client_id'),
            'aud' => sprintf('%s/%s', rtrim($this->client->getBaseUrl(), '/'), ltrim($this->config->get('token_url'), '/')),
            'exp' => time() + 60 * 60,
            'iat' => time()
        ];

        return JWT::encode($payload, $this->readPrivateKey($this->config->get('private_key')), 'RS256');
    }