private function getSigningSalt($self_key, $client_id, $client_secret)
    {
        $self_key_sign  = hash_hmac($this->hash_algo, $self_key, $client_secret, true);
        $client_id_sign = hash_hmac($this->hash_algo, $client_id, $self_key_sign, true);
        $salt           = hash_hmac($this->hash_algo, 'signer', $client_id_sign, true);

        $this->logger->debug(__FUNCTION__, [
            'input' => [
                'self_key' => $self_key,
                'client_id' => $client_id,
                'client_secret' => $client_secret,
            ],
            'output' => [
                'self_key_sign' => $self_key_sign,
                'client_id_sign' => $client_id_sign,
                'salt' => $salt,
            ],
        ]);

        /** @var string */
        return $salt;
    }