Я использую Identity server 4. На самом деле он работал нормально, все работает. Однако, когда я пытаюсь вызвать
var client = new HttpClient();
// discover endpoints from metadata
var disco = client.GetDiscoveryDocumentAsync(IDPBaseURL).Result;
it gives me error
http://xxx.x.x.xx:8080/.well-known/openid-configuration: HTTPS required.
Он работает из Visual Studio и локального развертывания IIS. Однако я сталкиваюсь с этой ошибкой только при развертывании на сервере.
любая идея?





http://xxx.x.x.xx:8080/.well-known/openid-configuration: HTTPS required.
как указано в сообщении об ошибке, убедитесь, что для IDPBaseURL установлено значение HTTPS.
пример
var client = new HttpClient();
var disco = client.GetDiscoveryDocumentAsync("https://xxx.x.x.xx").Result;
Я попробовал это, и после этого я получаю следующую ошибку: Ошибка подключения к 168.1.6.24:8080/.well-known/openid-configuration: Не удалось установить SSL-соединение, см. Внутреннее исключение. Внутреннее исключение: удаленный сертификат недействителен в соответствии с процедурой проверки. 168.1.6.24:8080/.well-known/openid-configuration доступен в браузере.
Я столкнулся с этой же проблемой и решил ее, изменив политику запроса документа обнаружения.
var client = new HttpClient();
var disco = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest {
Address = "http://xxx.xxx.x.xxx:xxxx",
Policy =
{
RequireHttps = false
}
});
Спасибо! Я работаю над быстрым запуском IdentityServer4 и застрял на этом.
Да точно, я тоже.
Убедитесь, что ваш сервер идентификации настроен на работу по протоколу https. Можете ли вы перейти к ххх.х.х.хх