Error en las cabeceras para que no se cachee la respuesta [1.7.0]

Descripción

En el código de adAS SSO se está utilizando incorrectamente la siguiente cabecera:

Ya que el estándar indica que debe ser 'no-cache'. Solo afecta a peticiones HTTP 1.0 y si el servidor web o el cliente cachean las respuestas.

Se detecta en los siguientes puntos del código:

  • endpoint/notification/RegNotificationEndpoint.class.php

  • protocol/oauth2/AuthenticationServer.class.php

  • protocol/oauth2/grants/AuthorizationCode.php

  • protocol/oauth2/grants/ClientCredentials.php

  • protocol/oauth2/grants/RefreshToken.class.php

  • protocol/oauth2/grants/ResourceOwner.class.php

Lo suyo sería (tm) aprovechar para poner en "lib/protocol/HttpResponse.class.php" un método estático que ponga todas las cabeceras necesarias para no ser cacheado:

Entorno

None

Cómo reproducirlo

A) Opción 1:

  • Buscar en el código de adAS "header("Pragma: no-store");" y cambiar el código con el valor correcto o la llamada al método estático
    B) Opción 2:

  • Comprobar en una llamada de que se ha aceptado una notificación que se recibe dicha cabecera

  • Comprobar en una petición errónea al servidor de OAuth2 que se recibe dicha cabecera. Ejemplo: https://{ADAS_URL}/OAUTH2/authserver.php

  • Para los 4 grants de OAuth2, ver que al recibir un Access Token se recibe dicha cabecera: Client Credenciales, Authorization Code, Refresh Token y Resource Owner

Componentes

Responsable

Daniel García

Informador

Cándido Rodriguez

Versiones corregidas

None

Versiones afectadas

Prioridad

No procede
Configure