IdentityServer4 - Ocorreu um erro de segurança
Estou usando o IdentityServer4 com o ASP .NET Core WebAPI e estou tendo problemas para acessar a página de descoberta programaticamente
var disco = await DiscoveryClient.GetAsync("https://<api>:1337");
Se eu hospedar as APIs (IdentityServer e a API protegida) no meu host local, tudo funciona, eu nem preciso usar https .... provavelmente não lançará ..HTTPS is required
se o nome do host for localhost?
Então, comecei a criar um certificado autoassinado no IIS do servidor e o armazenei no repositório de certificados pessoais. Mas quando me conecto de fora (navegador), recebo o erro:
This site is not secure - Error Code: DLG_FLAGS_SEC_CERT_CN_INVALID
Depois de um pouco de pesquisa e sem sorte, encontrei o mesmo certificado no meu laptop (para que eu possa acessar a API sem receber o aviso). Agora não estou recebendo nenhum aviso e a descoberta JSON está disponível. para ser visto (do navegador)
Mas programaticamente ainda recebo o mesmo erro.
Erro
Error connecting to https://:1337/.well-known/openid-configuration: An error occurred while sending the request.
Exceção StackTrace
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.DiagnosticsHandler.<SendAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IdentityModel.Client.DiscoveryClient.<GetAsync>d__17.MoveNext()
Mensagem InnerException:
A security error occurred
Exceção interna StackTrace
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.Tasks.RendezvousAwaitable`1.GetResult()
at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()
EDIT 01 Adicionar parcialmente o mesmo certificado autoassinado do Servidor ao meu laptop no contêiner de certificação Confiável.