/// <summary>
        /// Performs the back-channel logout for a single client.
        /// </summary>
        /// <param name="client"></param>
        protected virtual async Task SendLogoutNotificationAsync(BackChannelLogoutModel client)
        {
            var data = await CreateFormPostPayloadAsync(client);

            await HttpClient.PostAsync(client.LogoutUri, data);
        }
        /// <summary>
        /// Creates the form-url-encoded payload (as a dictionary) to send to the client.
        /// </summary>
        /// <param name="client"></param>
        /// <returns></returns>
        protected async Task <Dictionary <string, string> > CreateFormPostPayloadAsync(BackChannelLogoutModel client)
        {
            var token = await CreateTokenAsync(client);

            var data = new Dictionary <string, string>
            {
                { OidcConstants.BackChannelLogoutRequest.LogoutToken, token }
            };

            return(data);
        }