DEENESPTFRRUARHIKOZHNL

structure 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

Guide utilisateurGÉNÉRÉ PAR IA

Regroupe le résultat d'une vérification d'autorisation SOVD avec l'identité du client et la durée de validité de mise en cache.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6613e74c168c Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Regroupe le résultat d'une vérification d'autorisation SOVD avec l'identité du client et la durée de validité de mise en cache.

La structure ara::diag::SovdAuthorization::ValidateAuthorizationOutput sert de type de retour pour la vérification d'autorisation ValidateAuthorization() dans le module diag [SWS_DM_01927]. Elle transmet l'identité de client optionnelle pour la reconnaissance et le maintien de l'accès à des ressources temporaires telles que des routines ou des verrous [SWS_DM_01819], ainsi que l'instant de validité pour la mise en mémoire tampon de la validation [SWS_DM_01820]. Si le champ d'identité reste non renseigné, l'accès aux ressources protégées s'éteint dès que le jeton transmis expire ou devient non valide [SWS_DM_01819].

Contexte

La structure ara::diag::SovdAuthorization::ValidateAuthorizationOutput fait office de type de retour standardisé pour l'opération ValidateAuthorization() dans le module diag de l'AUTOSAR Adaptive Platform [SWS_DM_01927] AUTOSAR_AP_SWS_Diagnostics §8.52.2 « Struct: ValidateAuthorizationOutput ». Elle sert d'élément d'interface entre la logique d'autorisation côté application et le Diagnostic Management lors des accès de diagnostic orientés services (SOVD). Dès qu'un client de diagnostic externe souhaite accéder à des ressources du véhicule via un jeton SOVD, le Diagnostic Management demande une validation. La structure transmet deux résultats centraux de cette vérification : un attribut d'identification optionnel du client (identity) [SWS_DM_01819] ainsi que l'instant de validité pour la mise en mémoire tampon de l'autorisation (validUntil) [SWS_DM_01820].

Cycle de vie

En tant que structure de données (Plain Struct), ValidateAuthorizationOutput possède un cycle de vie transitoire [SWS_DM_01927]. Elle est instanciée par l'implémentation spécifique à l'application de la vérification d'autorisation, renseignée avec les résultats de la validation et transmise par valeur (return-by-value ou sémantique de déplacement) au Diagnostic Management appelant. La structure détient ses champs de données identity de type ara::core::Optional<ara::core::String> [SWS_DM_01819] et validUntil de type std::chrono::system_clock::time_point [SWS_DM_01820] en tant que variables membres directes. L'objet lui-même ne possède aucun état interne ni transition d'état, mais détermine directement, via le champ validUntil, la durée de vie de l'état d'autorisation conservé dans le Diagnostic Management (mise en cache) [SWS_DM_01820]. En ce qui concerne la concurrence, l'instance devrait être créée de manière locale au thread au sein de l'appel de validation ; aucun accès concurrent en écriture à une même structure n'est spécifié (interprétation : la protection contre les courses aux données incombe à l'environnement appelant). Question Q-0579316b13023b31 (ouverte) Après évaluation par le framework, le cycle de vie de l'instance de structure se termine régulièrement lors de la sortie de la portée.

Parcours d'utilisation

Le déroulement typique pour l'utilisation de ValidateAuthorizationOutput se divise selon les étapes suivantes :

  • Recevoir la requête : un client externe envoie une requête de diagnostic SOVD avec un jeton de sécurité au Diagnostic Management.
  • Demander la validation : le Diagnostic Management transmet le jeton à l'instance d'autorisation spécifique à l'application via ValidateAuthorization().
  • Créer la valeur de retour : l'application vérifie le jeton, instancie ValidateAuthorizationOutput et définit validUntil à l'instant jusqu'auquel cette autorisation peut être réutilisée [SWS_DM_01820] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.2 « validUntil ».
  • Attribuer l'identité : si le concept de sécurité prévoit une reconnaissance, l'application renseigne le champ optionnel identity (par ex. client_id, sub ou une combinaison) [SWS_DM_01819] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.1 « identity ».
  • Évaluer le résultat : le Diagnostic Management prend en charge la structure, met en mémoire tampon le résultat de validation jusqu'à validUntil et associe des ressources temporaires (telles que des routines de diagnostic en cours d'exécution ou des verrous) à l'identité transmise [SWS_DM_01819] [SWS_DM_01820].
Validierung von SOVD-ZugriffstokensSOVD-ClientGestion des diagnosticsSovdAuthorization-HandlerRequête de diagnostic avec jetonValidateAuthorization(token)Erzeuge ValidateAuthorizationOutputValidateAuthorizationOutput(identity, validUntil)Cache Token bis validUntilAssocier les ressources à identityDiagnoseantwort

Diagramme de séquence : déroulement de la validation et retour de ValidateAuthorizationOutput pour la vérification d'autorisation et la mise en mémoire tampon. Sources : [SWS_DM_01819], [SWS_DM_01820], [SWS_DM_01927].

Scénarios d'erreur

Bien que ValidateAuthorizationOutput, en tant que type de données simple, ne lève pas de codes d'erreur ni d'exceptions qui lui soient propres, des affectations erronées ou incomplètes entraînent des erreurs de fonctionnement :

  • Identité de client manquante lors du renouvellement de jeton : si identity n'est pas renseigné (optionnel vide), le client accède exclusivement aux ressources temporaires tant que le même jeton est présent et que validUntil n'est pas expiré [SWS_DM_01819]. Si le client renouvelle un jeton expiré, le Diagnostic Management ne peut pas le reconnaître à nouveau sans identité définie ; l'accès aux routines actives ou aux verrous existants est perdu [SWS_DM_01819].
  • Horodatage non valide ou périmé : si l'instant transmis dans validUntil se situe déjà dans le passé, une mise en mémoire tampon dans le Diagnostic Management devrait immédiatement être omise (interprétation : chaque requête client ultérieure force un nouvel appel de validation). Question Q-c715941f9302fd13 (ouverte)
  • Collision d'identités : si l'application d'autorisation renvoie par inadvertance des chaînes d'identité identiques pour des clients différents, le Diagnostic Management les classe comme étant identiques [SWS_DM_01819], ce qui peut conduire à l'appropriation non autorisée de verrous et de ressources temporaires.

Ce guide a été préparé par une IA sur la base de la spécification AUTOSAR Adaptive Platform R25-11 (module diag).

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

Documentation des 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