DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Reúne o resultado de uma verificação de autorização SOVD com a identidade do cliente e o período de validade de caching.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6613e74c168c Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Reúne o resultado de uma verificação de autorização SOVD com a identidade do cliente e o período de validade de caching.

A estrutura ara::diag::SovdAuthorization::ValidateAuthorizationOutput serve como tipo de retorno da verificação de autorização ValidateAuthorization() no módulo diag [SWS_DM_01927]. Ela transmite a identidade opcional do cliente para reconhecimento e manutenção do acesso a recursos temporários, como rotinas ou bloqueios [SWS_DM_01819], bem como o instante de validade para o armazenamento em cache da validação [SWS_DM_01820]. Se o campo de identidade permanecer não preenchido, o acesso a recursos protegidos é revogado assim que o token transmitido expirar ou se tornar inválido [SWS_DM_01819].

Contexto

A estrutura ara::diag::SovdAuthorization::ValidateAuthorizationOutput atua como tipo de retorno padronizado para a operação ValidateAuthorization() no módulo diag da AUTOSAR Adaptive Platform [SWS_DM_01927] AUTOSAR_AP_SWS_Diagnostics §8.52.2 «Struct: ValidateAuthorizationOutput». Ela serve como elemento de interface entre a lógica de autorização da aplicação e o Diagnostic Management em acessos de diagnóstico orientados a serviços (SOVD). Assim que um cliente de diagnóstico externo deseja acessar recursos do veículo por meio de token SOVD, o Diagnostic Management solicita uma validação. A estrutura transmite dois resultados centrais desta verificação: uma característica de identificação opcional do cliente (identity) [SWS_DM_01819] e o instante de validade para o armazenamento em cache da autorização (validUntil) [SWS_DM_01820].

Ciclo de vida

Sendo uma estrutura de dados (Plain Struct), ValidateAuthorizationOutput possui um ciclo de vida transiente [SWS_DM_01927]. Ela é instanciada pela implementação específica da aplicação da verificação de autorização, preenchida com os resultados da validação e passada por valor (Return-by-Value ou semântica move) ao Diagnostic Management chamador. A estrutura mantém seus campos de dados identity do tipo ara::core::Optional<ara::core::String> [SWS_DM_01819] e validUntil do tipo std::chrono::system_clock::time_point [SWS_DM_01820] como variáveis-membro diretas. O objeto em si não possui estados ou transições de estado internos, mas determina diretamente, por meio do campo validUntil, o tempo de vida do estado de autorização mantido no Diagnostic Management (caching) [SWS_DM_01820]. Em relação à concorrência, a instância deve ser criada de modo thread-local dentro da chamada de validação; um acesso de escrita concorrente à mesma estrutura não é especificado (interpretação: a proteção contra corridas de dados compete ao ambiente chamador). Pergunta Q-0579316b13023b31 (aberta) Após a avaliação pelo framework, o ciclo de vida da instância da estrutura termina regularmente ao sair do escopo.

Caminho de utilização

O fluxo típico para o uso de ValidateAuthorizationOutput divide-se nas seguintes etapas:

  • Receber solicitação: Um cliente externo envia uma requisição de diagnóstico SOVD com um token de segurança ao Diagnostic Management.
  • Solicitar validação: O Diagnostic Management encaminha o token via ValidateAuthorization() para a instância de autorização específica da aplicação.
  • Criar valor de retorno: A aplicação verifica o token, instancia ValidateAuthorizationOutput e define validUntil como o instante até o qual esta autorização pode ser reutilizada [SWS_DM_01820] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.2 «validUntil».
  • Atribuir identidade: Caso o conceito de segurança preveja um reconhecimento, a aplicação define o campo opcional identity (por ex., client_id, sub ou uma combinação) [SWS_DM_01819] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.1 «identity».
  • Avaliar resultado: O Diagnostic Management assume a struct, armazena em cache o resultado da validação até validUntil e associa recursos temporários (como rotinas de diagnóstico em execução ou bloqueios) à identidade transmitida [SWS_DM_01819] [SWS_DM_01820].
Validierung von SOVD-ZugriffstokensSOVD-ClientDiagnostic ManagementSovdAuthorization-HandlerSolicitação de diagnóstico com tokenValidateAuthorization(token)Erzeuge ValidateAuthorizationOutputValidateAuthorizationOutput(identity, validUntil)Cache Token bis validUntilVincular recursos à identityDiagnoseantwort

Diagrama de sequência: Fluxo de validação e retorno de ValidateAuthorizationOutput para verificação de autorização e armazenamento temporário em cache. Fontes: [SWS_DM_01819], [SWS_DM_01820], [SWS_DM_01927].

Cenários de erro

Embora ValidateAuthorizationOutput, como tipo de dados simples, não lance códigos de erro próprios nem exceções, atribuições incorretas ou incompletas levam a falhas operacionais:

  • Identidade de cliente ausente na renovação do token: se identity não for preenchido (optional vazio), o cliente acessa recursos temporários exclusivamente enquanto o mesmo token estiver presente e validUntil não tiver expirado [SWS_DM_01819]. Se o cliente renovar um token expirado, o Diagnostic Management não poderá reconhecê-lo sem uma identidade definida; o acesso a rotinas ativas ou a bloqueios existentes é perdido [SWS_DM_01819].
  • Carimbo de data/hora inválido ou expirado: se o momento transmitido em validUntil já estiver no passado, o armazenamento temporário no Diagnostic Management provavelmente deixará de ocorrer de imediato (interpretação: cada requisição subsequente do cliente força uma nova chamada de validação). Pergunta Q-c715941f9302fd13 (aberta)
  • Colisão de identidades: se a aplicação de autorização retornar inadvertidamente strings de identidade idênticas para clientes distintos, o Diagnostic Management as classificará como idênticas [SWS_DM_01819], o que pode levar à apropriação indevida de bloqueios e de recursos temporários.

Este guia foi elaborado por uma IA com base na especificação AUTOSAR Adaptive Platform R25-11 (módulo diag).

Diagrama de classes UML

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

G nara__diag__SovdAuthorization__ValidateAuthorizationOutput846 «struct» ValidateAuthorizationOutput + identity + validUntil

Constantes

identity variável

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 variável

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).

Documentação das constantes / variáveis

variável 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#1525813f
Content hash
1525813f
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

variável 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#e3f062f0
Content hash
e3f062f0
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