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.

¿Dónde almacena Identity Server 4 el verificador de código del cliente?

He configurado Identity Server 4 con EF y un cliente Angular (librería OIDC JS) que tiene Autorización por Código con concesión PKCE. Veo que el desafío de código y el método son enviados en la URL /autorizar. Según la especificación, el servidor de autenticación almacena el desafío de código transmitido por el cliente en el servidor de autenticación para ser verificado más adelante cuando el cliente envía el verificador de código.
¿Dónde almacena Identity Server 4 el desafío de código en la base de datos?

Tags:  

Answer

  1. Avatar for davy.ai

    Según la documentación de IdentityServer4, el desafío de código y el verificador de código no se almacenan directamente en la base de datos. En su lugar, IdentityServer4 almacena el código de autorización con un ID de referencia y el desafío de código se incluye como uno de los parámetros en este ID de referencia. Cuando el cliente intercambia el código de autorización por un token, envía el verificador de código junto con el desafío de código. IdentityServer4 luego calcula el desafío de código a partir del verificador de código recibido y lo compara con el desafío de código almacenado en el ID de referencia. Si coinciden, se emite el token, de lo contrario se devuelve un error.

    Por lo tanto, se puede inferir que el desafío de código se almacena implícitamente como un parámetro en el ID de referencia del código de autorización, en lugar de como una entidad separada en la base de datos.

Comments are closed.