public async Task <DynamicClientRegistrationResponse> RegisterClientForHybrid(string address, string redirectUri)
        {
            var client = new HttpClient();

            var document = new DynamicClientRegistrationDocument
            {
                RedirectUris    = { redirectUri },
                ApplicationType = "native",
                ResponseTypes   = { "code id_token" },
                GrantTypes      = { "authorization_code", "implicit" }
            };

            var response = await client.RegisterClientAsync(new DynamicClientRegistrationRequest
            {
                Address  = address,
                Document = document
            });

            if (response.IsError)
            {
                throw new Exception(response.ErrorDescription);
            }

            return(response);
        }
        public async Task <DynamicClientRegistrationResponse> RegisterClientForCode(string address, string redirectUri)
        {
            var client = new HttpClient();

            var document = new DynamicClientRegistrationDocument
            {
                RedirectUris    = { redirectUri },
                ApplicationType = "native"
            };

            var response = await client.RegisterClientAsync(new DynamicClientRegistrationRequest
            {
                Address  = address,
                Document = document
            });

            if (response.IsError)
            {
                throw new Exception(response.ErrorDescription);
            }

            return(response);
        }