es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La cookie Nonce no se está devolviendo en el flujo de código, en su lugar se está devolviendo la cookie .AspNetCore.Identity.Application.

Hemos actualizado tanto nuestra aplicación que ejecuta openiddict como la aplicación cliente en cuestión a .net core 3.1 y .net framework 4.8 respectivamente. Openiddict también se ha actualizado a la versión 3.1.0.

Desde esta actualización, y los cambios resultantes en ambos proyectos, nuestra aplicación asp.net mvc 5 del framework .net comenzó a recibir una excepción con el código IDX21323: RequireNonce es ‘System.Boolean’. OpenIdConnectProtocolValidationContext.Nonce estaba vacío, mientras que OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonce no lo estaba. No se pudo validar el nonce. Si usted no necesita comprobar el nonce, establezca OpenIdConnectProtocolValidator.RequireNonce en ‘false’. Tenga en cuenta que si se encuentra un nonce, se evaluará.

Al inspeccionar la solicitud de redireccionamiento desde nuestro punto de conexión / autorización de conexión hasta el callback de inicio de sesión de la aplicación cliente (llamado ingreso-sevanidentity), vemos que en lugar de recibir una cookie de OpenIdConnect.nonce como vemos en nuestra instancia de producción, vemos .AspNetCore.Identity.Application, que no es reconocido por el cliente.

Callback en la versión actualizada:
Información de encabezado de OpenIdConnect.nonce

Callback en la instancia de producción operativa:
Información de encabezado de producción

No estoy seguro si he cometido un error en la configuración de openiddict, el cliente o ambos.

Tags:  

Answer

  1. Avatar for davy.ai

    Después de actualizar tanto la aplicación que ejecuta Openiddict como la aplicación cliente a .NET Core 3.1 y .NET Framework 4.8 respectivamente, Openiddict también se actualizó a la versión 3.1.0. Sin embargo, la aplicación ASP.NET MVC 5 de .NET Framework comenzó a arrojar una excepción con el mensaje “IDX21323: RequireNonce es ‘System.Boolean’. OpenIdConnectProtocolValidationContext.Nonce era nulo, OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonce no era nulo. No se puede validar el nonce. Si no necesita verificar el nonce, establezca OpenIdConnectProtocolValidator.RequireNonce en ‘false’. Tenga en cuenta que si se encuentra un ‘nonce’, se evaluará.” tras la inspección de la solicitud de redireccionamiento del punto final connect/authorize de vuelta al callback de inicio de sesión de la aplicación cliente.

    La inspección adicional reveló que la versión actualizada de la aplicación estaba recibiendo una cookie con el nombre “.AspNetCore.Identity.Application” en lugar de “OpenIdConnect.nonce” como se ve en la instancia de producción funcionando.

    No está claro si la configuración en Openiddict, la aplicación cliente o ambas está causando este problema.

Comments are closed.