IdentityServer4: se ha producido un error de seguridad
Estoy usando IdentityServer4 con ASP .NET Core WebAPI y tengo problemas para acceder a la página de descubrimiento mediante programación
var disco = await DiscoveryClient.GetAsync("https://<api>:1337");
Si alojo las API (IdentityServer y la API protegida) en mi host local, todo funciona, ni siquiera necesito usar https ... probablemente no arroje el ...HTTPS is required
si el nombre del host es localhost?
Entonces, comencé a crear un certificado autofirmado en el IIS del servidor, lo almacené en el almacén de Certificados personales. Pero cuando me conecto desde el exterior (navegador) me sale el error:
This site is not secure - Error Code: DLG_FLAGS_SEC_CERT_CN_INVALID
Después de un poco de búsqueda y no tuve suerte de encontrar nada, instalé el mismo certificado en mi computadora portátil (para poder acceder a la API sin recibir la advertencia). Ahora no recibo ninguna advertencia y el descubrimiento JSON está disponible. para ser visto (desde el navegador)
Pero programáticamente sigo teniendo el mismo error.
Error
Error connecting to https://:1337/.well-known/openid-configuration: An error occurred while sending the request.
Exception 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()
Mensaje de excepción interna:
A security error occurred
Excepción interna StackTrace
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.Tasks.RendezvousAwaitable`1.GetResult()
at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()
EDITAR 01 Agregar el mismo certificado autofirmado del servidor a mi computadora portátil en el contenedor de certificación de confianza funciona, parcialmente.