DEENESPTFRRUARHIKOZHNL

estructura ara::diag::SovdAuthorization::ValidateAuthorizationOutput

[SWS_DM_01927] Upstream: RS_Diag_04268

struct ValidateAuthorizationOutput {...};

Return type for ValidateAuthorization().

Header-Datei#include "ara/diag/sovd_authorization.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdAuthorization

Guía del usuarioGENERADO POR IA

Agrupa el resultado de una comprobación de autorización SOVD con identidad de cliente y periodo de validez de almacenamiento en caché.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6613e74c168c Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Agrupa el resultado de una comprobación de autorización SOVD con identidad de cliente y periodo de validez de almacenamiento en caché.

La estructura ara::diag::SovdAuthorization::ValidateAuthorizationOutput sirve como tipo de retorno de la comprobación de autorización ValidateAuthorization() en el módulo diag [SWS_DM_01927]. Transmite la identidad opcional del cliente para el reconocimiento y mantenimiento del acceso a recursos temporales como rutinas o bloqueos [SWS_DM_01819], así como el instante de validez para el almacenamiento intermedio de la validación [SWS_DM_01820]. Si el campo de identidad queda sin asignar, el acceso a los recursos protegidos se extingue en cuanto el token transmitido expire o deje de ser válido [SWS_DM_01819].

Contexto

La estructura ara::diag::SovdAuthorization::ValidateAuthorizationOutput actúa como tipo de retorno estandarizado para la operación ValidateAuthorization() en el módulo diag de AUTOSAR Adaptive Platform [SWS_DM_01927] AUTOSAR_AP_SWS_Diagnostics §8.52.2 «Struct: ValidateAuthorizationOutput». Sirve como elemento de interfaz entre la lógica de autorización del lado de la aplicación y el Diagnostic Management en accesos de diagnóstico orientados a servicios (SOVD). Tan pronto como un cliente de diagnóstico externo desea acceder a recursos del vehículo mediante un token SOVD, el Diagnostic Management solicita una validación. La estructura transmite dos resultados centrales de esta comprobación: una característica de identificación opcional del cliente (identity) [SWS_DM_01819] y el instante de validez para el almacenamiento intermedio de la autorización (validUntil) [SWS_DM_01820].

Ciclo de vida

Como estructura de datos simple (Plain Struct), ValidateAuthorizationOutput tiene un ciclo de vida transitorio [SWS_DM_01927]. Es instanciada por la implementación específica de la aplicación de la comprobación de autorización, rellenada con los resultados de validación y transferida por valor (semántica de return-by-value o move) al Diagnostic Management llamador. La estructura mantiene sus campos de datos identity de tipo ara::core::Optional<ara::core::String> [SWS_DM_01819] y validUntil de tipo std::chrono::system_clock::time_point [SWS_DM_01820] como variables miembro directas. El objeto en sí no posee estados internos ni transiciones de estado, pero determina directamente a través del campo validUntil la vida útil del estado de autorización conservado en el Diagnostic Management (caching) [SWS_DM_01820]. En cuanto a la concurrencia, la instancia debería crearse de forma local al hilo dentro de la llamada de validación; un acceso de escritura concurrente a la misma estructura no está especificado (interpretación: la protección frente a condiciones de carrera corresponde al entorno llamador). Pregunta Q-0579316b13023b31 (abierta) Tras la evaluación por parte del framework, el ciclo de vida de la instancia de la estructura finaliza de forma regular al salir del ámbito.

Ruta de uso

El flujo típico para el uso de ValidateAuthorizationOutput se divide en los siguientes pasos:

  • Recibir solicitud: un cliente externo envía una solicitud de diagnóstico SOVD con un token de seguridad al Diagnostic Management.
  • Solicitar validación: el Diagnostic Management reenvía el token a la instancia de autorización específica de la aplicación a través de ValidateAuthorization().
  • Crear valor de retorno: la aplicación comprueba el token, instancia ValidateAuthorizationOutput y establece validUntil en el instante hasta el cual se permite reutilizar esta autorización [SWS_DM_01820] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.2 «validUntil».
  • Asignar identidad: si el concepto de seguridad contempla el reconocimiento, la aplicación establece el campo opcional identity (p. ej., client_id, sub o una combinación) [SWS_DM_01819] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.1 «identity».
  • Evaluar resultado: el Diagnostic Management toma el struct, almacena en búfer el resultado de validación hasta validUntil y asocia recursos temporales (como rutinas de diagnóstico en ejecución o bloqueos) a la identidad transmitida [SWS_DM_01819] [SWS_DM_01820].
Validierung von SOVD-ZugriffstokensSOVD-ClientDiagnostic ManagementSovdAuthorization-HandlerSolicitud de diagnóstico con tokenValidateAuthorization(token)Erzeuge ValidateAuthorizationOutputValidateAuthorizationOutput(identity, validUntil)Cache Token bis validUntilVincular recursos con identityDiagnoseantwort

Diagrama de secuencia: flujo de validación y retorno de ValidateAuthorizationOutput para la comprobación de autorización y almacenamiento en búfer. Fuentes: [SWS_DM_01819], [SWS_DM_01820], [SWS_DM_01927].

Escenarios de error

Aunque ValidateAuthorizationOutput, como tipo de datos simple, no genera excepciones ni códigos de error propios, las asignaciones incorrectas o incompletas dan lugar a errores operativos:

  • Falta de identidad de cliente en la renovación de token: si identity no se asigna (optional vacío), el cliente accede a recursos temporales exclusivamente mientras esté presente el mismo token y validUntil no haya expirado [SWS_DM_01819]. Si el cliente renueva un token expirado, el Diagnostic Management no puede reconocerlo sin una identidad establecida; se pierde el acceso a rutinas activas o bloqueos existentes [SWS_DM_01819].
  • Marca de tiempo no válida o caducada: si el instante transmitido en validUntil ya pertenece al pasado, es de prever que no se realice de inmediato un almacenamiento intermedio en el Diagnostic Management (interpretación: cada solicitud de cliente posterior fuerza una nueva llamada de validación). Pregunta Q-c715941f9302fd13 (abierta)
  • Colisión de identidades: si la aplicación de autorización devuelve por error cadenas de identidad idénticas para diferentes clientes, el Diagnostic Management las clasifica como idénticas [SWS_DM_01819], lo que puede provocar la apropiación indebida de bloqueos y recursos temporales.

Esta guía ha sido comisariada por una IA sobre la base de la especificación AUTOSAR Adaptive Platform R25-11 (módulo diag).

Diagrama de clases UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__SovdAuthorization__ValidateAuthorizationOutput846 «struct» ValidateAuthorizationOutput + identity + validUntil

Constantes

identity variable

Identity of the client. This identity string if present will be used to re-identify a client even if it uses a new token (e.g. because the old one expired) so that it has access to the temporary resources (e.g. running routines, locks, etc.). If the identity string is the same as one returned earlier, the client will be considered identical. Depending on the security concept it could be for example the ’client_id’, the ’sub’, or a combination of both. If the identity string is not provided, the client will only have access to the temporary resources as long as it provides the same access token and validUntil is not yet expired.

validUntil variable

Time until this validation may be reused. The point in time until which the authentication state may be reused if the same token is provided by the client (caching).

Documentación de las constantes / variables

variable identity [SWS_DM_01819] Upstream: RS_Diag_04268

ara::core::Optional<ara::core::String> identity;

Identity of the client. This identity string if present will be used to re-identify a client even if it uses a new token (e.g. because the old one expired) so that it has access to the temporary resources (e.g. running routines, locks, etc.). If the identity string is the same as one returned earlier, the client will be considered identical. Depending on the security concept it could be for example the ’client_id’, the ’sub’, or a combination of both. If the identity string is not provided, the client will only have access to the temporary resources as long as it provides the same access token and validUntil is not yet expired.

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopestruct ara::diag::SovdAuthorization::ValidateAuthorizationOutput
Symbolidentity
Typara::core::Optional< ara::core::String >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01819
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01819@rel:R25-11#8dd34307
Content hash
8dd34307
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01819
Status: valid/unmigrated Version: rel:R25-11#4cf57b0a Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01819@rel:R25-11#4cf57b0a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8dd343072026-09-30
  • R23-11rel:R23-11#7d3b6a842026-10-14
  • R24-11rel:R24-11#4cf57b0a2026-10-14
  • R25-11rel:R25-11#4cf57b0a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable validUntil [SWS_DM_01820] Upstream: RS_Diag_04268

std::chrono::system_clock::time_point validUntil;

Time until this validation may be reused. The point in time until which the authentication state may be reused if the same token is provided by the client (caching).

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopestruct ara::diag::SovdAuthorization::ValidateAuthorizationOutput
SymbolvalidUntil
Typstd::chrono::system_clock::time_point

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01820
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01820@rel:R25-11#530250dc
Content hash
530250dc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01820
Status: valid/unmigrated Version: rel:R25-11#bd4ad359 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01820@rel:R25-11#bd4ad359
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#530250dc2026-09-30
  • R23-11rel:R23-11#bd4ad3592026-10-14
  • R24-11rel:R24-11#bd4ad3592026-10-14
  • R25-11rel:R25-11#bd4ad3592026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill