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 IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6613e74c168cProcedênciaPerguntas 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.
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].
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.
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.
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).
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.
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).
gemini-3.8-flash-low· 2026-10-13 · Original em alemão