DEENESPTFRRUARHIKOZHNL

class ara::diag::SovdAuthorization

[SWS_DM_01490] Upstream: RS_Diag_04268

class SovdAuthorization {...};

Class to implement the SOVD Authorization interfaces in the application.

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

User GuideKI-GENERIERT

Ermöglicht Anwendungen die Validierung von SOVD-Tokens sowie die Bereitstellung von Autorisierungs- und Token-URLs.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 49d1f84283f8 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Anwendungen die Validierung von SOVD-Tokens sowie die Bereitstellung von Autorisierungs- und Token-URLs.

Die Klasse ara::diag::SovdAuthorization dient Anwendungen zur Implementierung der SOVD-Autorisierungsschnittstellen gegenüber dem Diagnostic Server ([SWS_DM_01490]). Sie stellt Methoden zur Ermittlung von Weiterleitungs-URLs für Autorisierungs- und Token-Endpunkte sowie zur Prüfung von Zugriffs-Tokens bereit ([SWS_DM_01483]). Der Nachrichtenempfang muss nach der Instanziierung explizit mit Offer() aktiviert werden, und das übergebene Authentifizierungsobjekt darf nach Bereitstellung des Validierungsergebnisses nicht mehr verwendet werden.

Kontext

Die Klasse ara::diag::SovdAuthorization stellt die adaptive Anwendungsschnittstelle zur Verfügung, um Autorisierungs- und Authentifizierungsmechanismen für Service-Oriented Vehicle Diagnostics (SOVD) bereitzustellen ([SWS_DM_01490]). Innerhalb der Diagnosearchitektur vermittelt sie zwischen dem Diagnostic Server des Diagnostic Managements (DM) und der individuellen Autorisierungslogik der Fahrzeuganwendung (SWS Diagnostics §7.3.3.2 „SOVD Request Validation and Verification“). Wenn ein externer SOVD-Client Endpunkte zur Client-Verifizierung oder zum Abrufen von Tokens abfragt, leitet der Diagnostic Server diese Anfragen an die Anwendung weiter, um die Ziel-URLs zu ermitteln ([SWS_DM_01471], [SWS_DM_01472]). Bei eingehenden Diagnoseanfragen mit HTTP-Autorisierungs-Header überprüft die Klasse die Gültigkeit des Tokens und definiert übertragene Zugriffsrollen ([SWS_DM_01470]). Die tatsächliche Validierung gegenüber einem Autorisierungsserver (wie OAuth 2.0) dürfte als anwendungsspezifische Interpretation über externe Netzwerkprotokolle erfolgen, da AUTOSAR hier den lokalen Anwendungsübergabepunkt standardisiert. Frage Q-6ce702103e4966c7 (offen)

SovdAuthContext client SOVD-Client dm Diagnostic Server (DM) client->dm SOVD-Request dm->client HTTP 307 / SOVD-Response handler SovdAuthorization (Anwendung) dm->handler Get*Url() / ValidateAuthorization() authserver Autorisierungs-Server (extern/OAuth 2.0) handler->authserver Token-Validierung (Interpretation)

Kontextdiagramm: Zusammenspiel von SOVD-Client, Diagnostic Server (DM), SovdAuthorization und externem Autorisierungsdienst. Quellen: [SWS_DM_01470], [SWS_DM_01471], [SWS_DM_01472], SWS Diagnostics §7.3.3.2.1 „SOVD – Authorization“

Lebenszyklus

Die Instanziierung von ara::diag::SovdAuthorization erfolgt explizit über den Konstruktor unter Angabe eines ara::core::InstanceSpecifier sowie des Nebenläufigkeitsmodus ConcurrencyType ([SWS_DM_01489]). Der InstanceSpecifier muss im Manifest auf einen gültigen PortPrototype eines DiagnosticSovdAuthorizationInterface verweisen. Über den ConcurrencyType (kConcurrent oder kNotConcurrent) wird festgelegt, ob die implementierten Callback-Methoden der Anwendung threadsicher ausgelegt sein müssen ([SWS_DM_01483], [SWS_DM_01484], [SWS_DM_01485]).

Nach der Konstruktion leitet der Diagnostic Server Anforderungen erst weiter, wenn die Anwendung die Methode Offer() erfolgreich aufgerufen hat ([SWS_DM_01487]). Interpretation: Anforderungen, die vor dem Offer() eintreffen, werden vom Server vermutlich verworfen oder mit einem Fehler abgewiesen. Frage Q-84330742a61f91a7 (offen) Um die Weiterleitung von Anfragen zu beenden, ruft die Anwendung StopOffer() auf ([SWS_DM_01486]). Schließlich wird das Objekt über den virtuellen Destruktor freigegeben ([SWS_DM_01488]). Die administrativen Aufrufe SovdAuthorization, Offer, StopOffer und der Destruktor sind nicht threadsicher.

Nutzungspfad

Im laufenden Betrieb treten zwei wesentliche Interaktionspfade auf: die Bereitstellung von Umleitungs-URLs und die Validierung aktiver Sitzungstokens. Sendet ein SOVD-Client eine Abfrage zur Client-Verifizierung oder zum Anfordern eines Tokens, ruft der DM GetAuthorizationUrl() ([SWS_DM_01485]) bzw. GetTokenUrl() ([SWS_DM_01484]) auf. Die Anwendung wertet die übergebenen queryParameters sowie die metaInfo aus und liefert die Ziel-URL asynchron als ara::core::Future<ara::core::String> zurück, woraufhin der DM mit einem HTTP 307 (Temporary Redirect) antwortet ([SWS_DM_01471], [SWS_DM_01472]).

Enthält eine nachfolgende SOVD-Anfrage einen neuen oder geänderten HTTP-Authorization-Header, ruft der Diagnostic Server ValidateAuthorization() auf ([SWS_DM_01470], [SWS_DM_01483]). Die Anwendung validiert den übergebenen token, weist dem referenzierten Objekt ara::diag::ClientAuthentication die entsprechenden Berechtigungsrollen zu ([SWS_DM_01469]) und liefert über das Future ein ValidateAuthorizationOutput zurück. Wichtige Vorbedingung: Sobald der Future bereitsteht, darf die Anwendung das referenzierte ClientAuthentication-Objekt nicht mehr verwenden ([SWS_DM_01483]). Der DM nutzt die Rückgabewerte (Gültigkeitsdauer validUntil und identity), um nachfolgende Anfragen desselben Clients ohne erneute Prüfung zuzuordnen ([SWS_DM_01781], [SWS_DM_01782]), was insbesondere für SOVD-Ressourcensperren erforderlich ist ([SWS_DM_01783]).

Ablauf der SOVD-Token-ValidierungSOVD-ClientDiagnostic Server (DM)SovdAuthorizationClientAuthenticationSOVD-Request mit Authorization-HeaderValidateAuthorization(token, metaInfo, clientAuth)Token intern oder online validierenRollen als autorisiert setzenFuture ready: ValidateAuthorizationOutputClient re-identifizieren & Rollen übernehmenHTTP 200 OK / Ressourcenzugriff gewährt

Sequenzdiagramm: Ablauf der Token-Validierung über ValidateAuthorization und Rollenzuweisung. Quellen: [SWS_DM_01469], [SWS_DM_01470], [SWS_DM_01483], SWS Diagnostics §7.3.3.2.1 „SOVD – Authorization“

Fehlerszenarien

Fehler werden über ara::core::Result oder innerhalb des zurückgegebenen ara::core::Future abgebildet:

  • Initialisierungs- und Modellierungsfehler: Schlägt die Instanziierung fehl, werden Verletzungen gemeldet, etwa InstanceSpecifierMappingIntegrityViolation (ungültiges Modellelement), PortInterfaceMappingViolation (falscher Schnittstellentyp), ProcessMappingViolation (fehlender Prozessbezug) oder InstanceSpecifierAlreadyInUseViolation ([SWS_DM_01489]).
  • Freigabefehler bei Offer: Offer() gibt im Fehlerfall DiagOfferErrc::kAlreadyOffered zurück, falls der Dienst bereits aktiv ist, oder DiagOfferErrc::kConfigurationMismatch, falls die Konfiguration nicht mit den DEXT-Daten übereinstimmt ([SWS_DM_01487]).
  • Fehler bei der Token-Validierung: Kann ein Token nicht verifiziert werden, liefert ValidateAuthorization() über den Future DiagSovdErrc::kInvalidAccessToken (ungültiges Token) oder DiagSovdErrc::kTemporarilyNotAvailable (z. B. wenn der Authentifizierungsserver zur Online-Verifikation nicht erreichbar ist) ([SWS_DM_01483]).
  • URL-Ermittlung: Für GetAuthorizationUrl() und GetTokenUrl() sind keine standardisierten Fehlercodes definiert ([SWS_DM_01484], [SWS_DM_01485]).

Dieser Leitfaden basiert ausschließlich auf den Spezifikationen des AUTOSAR-Releases R25-11.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__SovdAuthorization23 SovdAuthorization + ~SovdAuthorization() + SovdAuthorization() + GetAuthorizationUrl() + GetTokenUrl() + Offer() + StopOffer() + ValidateAuthorization()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructs the port for SOVD Authorization interface.

explicit SovdAuthorization (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;

Destructor of SovdAuthorization.

virtual ~SovdAuthorization () noexcept;

Methoden

Get the URL that the SOVD client shall use for authorization. The SOVD client will be redirected to that URL. If OAuth 2.0 is used, this would be the URL to look up the Authorization Server’s authorize endpoint.

virtual ara::core::Future< ara::core::String > GetAuthorizationUrl (const ara::core::Map< const ara::core::StringView, const ara::core::Vector< const ara::core::StringView > > &queryParameters, const MetaInfo &metaInfo) noexcept=0;
GetTokenUrl function

Get the URL that the SOVD client shall use to request a token. The SOVD client will be redirected to that URL. If OAuth 2.0 is used, this would be the URL to look up the Authorization Server’s token endpoint.

virtual ara::core::Future< ara::core::String > GetTokenUrl (const ara::core::Map< const ara::core::StringView, const ara::core::Vector< const ara::core::StringView > > &queryParameters, const MetaInfo &meta Info) noexcept=0;
Offer function

This Offer will enable the DM to forward request messages to this handler.

ara::core::Result< void > Offer () noexcept;
StopOffer function

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;

This function validates the authorization token sent by the SOVD client. The application shall validate the authorization token according to the authorization protocol used in the system and then according to the outcome set the respective roles as authorized in the clientAuthentication that is passed as parameter. If OAuth 2.0 is used, this would implement the validation that is supposed to happen in the Resource Server.

virtual ara::core::Future< ValidateAuthorizationOutput > Validate Authorization (ara::core::StringView token, const MetaInfo &metaInfo, ClientAuthentication &clientAuthentication) noexcept=0;

Eingebettete Typen

Dokumentation der Methoden

function GetAuthorizationUrl [SWS_DM_01485] Upstream: RS_Diag_04268

virtual ara::core::Future< ara::core::String > GetAuthorizationUrl (const ara::core::Map< const ara::core::StringView, const ara::core::Vector< const ara::core::StringView > > &queryParameters, const MetaInfo &metaInfo) noexcept=0;

Get the URL that the SOVD client shall use for authorization. The SOVD client will be redirected to that URL. If OAuth 2.0 is used, this would be the URL to look up the Authorization Server’s authorize endpoint.

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
queryParametersThe query parameters passed in the request.
metaInfoThe meta information of a diagnostic service port.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::String >Returns the URL, that the SOVD client shall use for authorization.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_01485
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01485@rel:R25-11#8d714d09
Content hash
8d714d09
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01485
Status: valid/unmigrated Version: rel:R25-11#d45641ff Versionshistorie & Revisions (1 transition, 5 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_01485@rel:R25-11#d45641ff
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#8d714d092026-09-30
  • R22-11rel:R22-11#16824a3e2026-10-14
  • R23-11rel:R23-11#76cd545a2026-10-14
  • R24-11rel:R24-11#6525fcf82026-10-14
  • R25-11rel:R25-11#d45641ff2026-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

function GetTokenUrl [SWS_DM_01484] Upstream: RS_Diag_04268

virtual ara::core::Future< ara::core::String > GetTokenUrl (const ara::core::Map< const ara::core::StringView, const ara::core::Vector< const ara::core::StringView > > &queryParameters, const MetaInfo &meta Info) noexcept=0;

Get the URL that the SOVD client shall use to request a token. The SOVD client will be redirected to that URL. If OAuth 2.0 is used, this would be the URL to look up the Authorization Server’s token endpoint.

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
queryParametersThe query parameters passed in the request.
metaInfoThe meta information of a diagnostic service port.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::String >Returns the URL that the SOVD client shall use to request a token.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_01484
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01484@rel:R25-11#7e533d90
Content hash
7e533d90
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01484
Status: valid/unmigrated Version: rel:R25-11#f6a201d9 Versionshistorie & Revisions (1 transition, 5 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_01484@rel:R25-11#f6a201d9
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#7e533d902026-09-30
  • R22-11rel:R22-11#17e901a02026-10-14
  • R23-11rel:R23-11#42f1bade2026-10-14
  • R24-11rel:R24-11#a069b6f52026-10-14
  • R25-11rel:R25-11#f6a201d92026-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

function Offer [SWS_DM_01487] Upstream: RS_Diag_04268

ara::core::Result< void > Offer () noexcept;

This Offer will enable the DM to forward request messages to this handler.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0834519262c7 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Memberfunktion Offer der Klasse ara::diag::SovdAuthorization aktiviert die Weiterleitung von Anforderungsnachrichten durch das Diagnostic Management (DM) an die zugehörige Handler-Instanz [SWS_DM_01487]. Sie nimmt keine Parameter entgegen und gibt ein ara::core::Result<void> zurück, das den erfolgreichen Aufruf bestätigt oder einen aufgetretenen Fehler meldet [SWS_DM_01487].

Hinsichtlich der Fehlerbehandlung spezifiziert [SWS_DM_01487] zwei konkrete Fehlercodes aus DiagOfferErrc mit Rollback-Semantik:

  • DiagOfferErrc::kAlreadyOffered: Tritt auf, wenn der Dienst für diese Instanz bereits angeboten wird [SWS_DM_01487].
  • DiagOfferErrc::kConfigurationMismatch: Meldet, dass die Konfiguration nicht mit den DEXT-Beschreibungsdaten übereinstimmt [SWS_DM_01487].

Bezüglich der Ausführungseigenschaften ist der Aufruf als ausnahmesicher (exception safe) deklariert, gilt jedoch als nicht threadsicher (not thread-safe) [SWS_DM_01487]. Die Funktion darf daher nicht nebenläufig für dieselbe Instanz aufgerufen werden.

Im Zusammenspiel mit dem DM entspricht die Funktion dem generellen Bereitstellungsmuster der AUTOSAR-Adaptive-Diagnoseschnittstellen, wie es auch für generische Routinen oder DoIP-Dienste zum Einsatz kommt (beispielsweise [SWS_DM_00557], [SWS_DM_00725] oder [SWS_DM_00809]). Solange ein Handler nicht über Offer registriert wurde, leitet der DM Anforderungen nicht an die Anwendung weiter beziehungsweise bedient diese mit vordefinierten Ersatzwerten [SWS_DM_01487], [SWS_DM_01525], [SWS_DM_01527].

Dieser Text wurde von einer KI erstellt. Alle Angaben basieren ausschließlich auf dem bereitgestellten Spezifikationsauszug.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.
DiagOfferErrc::kConfigurationMismatchrollback_semantics monitor configuration does not match DEXT

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

Record
AUTOSAR/AP/record/SWS_DM_01487
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01487@rel:R25-11#1ee581c6
Content hash
1ee581c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01487
Status: valid/unmigrated Version: rel:R25-11#a9605b85 Versionshistorie & Revisions (1 transition, 5 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_01487@rel:R25-11#a9605b85
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1ee581c62026-09-30
  • R22-11rel:R22-11#d1dad9c62026-10-14
  • R23-11rel:R23-11#853e9a012026-10-14
  • R24-11rel:R24-11#59ae33f32026-10-14
  • R25-11rel:R25-11#a9605b852026-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

function SovdAuthorization [SWS_DM_01489] Upstream: RS_Diag_04268, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit SovdAuthorization (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;

Constructs the port for SOVD Authorization interface.

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticSovdAuthorizationPortMapping needs to be typed by a DiagnosticSovdAuthorizationInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
instanceSpecifierInstanceSpecifier to a PortPrototype of a DiagnosticSovdAuthorizationInterface service instance in the manifest.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

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

Record
AUTOSAR/AP/record/SWS_DM_01489
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01489@rel:R25-11#af23d0c7
Content hash
af23d0c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01489
Status: valid/unmigrated Version: rel:R25-11#c9585cf9 Versionshistorie & Revisions (1 transition, 5 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_01489@rel:R25-11#c9585cf9
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#af23d0c72026-09-30
  • R22-11rel:R22-11#45eb7d512026-10-14
  • R23-11rel:R23-11#97066c872026-10-14
  • R24-11rel:R24-11#07afb8a72026-10-14
  • R25-11rel:R25-11#c9585cf92026-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

function StopOffer [SWS_DM_01486] Upstream: RS_Diag_04268

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c318a30e32ad Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode StopOffer der Klasse ara::diag::SovdAuthorization (Header ara/diag/sovd_authorization.h) dient dazu, das Weiterleiten von eingehenden Diagnose-Anfragen aus dem Diagnostic Management (DM) an den Autorisierungsdienst zu unterbinden [SWS_DM_01486]. Die Funktion besitzt die Signatur void StopOffer() noexcept. Sie nimmt keine Parameter entgegen und liefert keinen Rückgabewert an den Aufrufer zurück [SWS_DM_01486].

Fehlerbehandlung und Nebenläufigkeit

Die Funktion ist als ausnahmesicher (exception safe) spezifiziert und wirft keine Ausnahmen [SWS_DM_01486]. Spezifische Fehlercodes sowie Fehlermeldungen an DET oder DEM sind für diesen Aufruf nicht vorgesehen. Hinsichtlich der Nebenläufigkeit ist die Methode als nicht threadsicher (not thread-safe) eingestuft [SWS_DM_01486]. Falls mehrere Threads denselben Instanzkontext nutzen, muss der Zugriff durch die aufrufende Anwendung synchronisiert werden. Interpretation: Ein Aufruf dürfte vor allem beim geordneten Herunterfahren der Anwendung oder bei vorübergehend entzogener Autorisierungsbereitschaft erfolgen. Frage Q-6c81f2dc7ee903ca (offen)

Zusammenspiel

Das Konzept folgt dem allgemeinen Entwurfsmuster für Schnittstellen in der AUTOSAR-Adaptive-Diagnose: Die Bezeichnung StopOffer wurde in Anlehnung an die Service-Schnittstellen von ara::com gewählt, stellt jedoch eine eigenständige Implementierung innerhalb von ara::diag dar AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“. Dieselbe Deaktivierungssemantik findet sich modulweit bei vielen weiteren Port-Schnittstellen, beispielsweise bei GenericRoutine [SWS_DM_00558], Authentication [SWS_DM_01131], CommunicationControl [SWS_DM_00810] sowie Monitor [SWS_DM_01089].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR AP R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_01486
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01486@rel:R25-11#30189eb1
Content hash
30189eb1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01486
Status: valid/unmigrated Version: rel:R25-11#9bb7ae44 Versionshistorie & Revisions (1 transition, 5 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_01486@rel:R25-11#9bb7ae44
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#30189eb12026-09-30
  • R22-11rel:R22-11#14fbd18b2026-10-14
  • R23-11rel:R23-11#31cc13ad2026-10-14
  • R24-11rel:R24-11#ac3ee7ea2026-10-14
  • R25-11rel:R25-11#9bb7ae442026-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

function ValidateAuthorization [SWS_DM_01483] Upstream: RS_Diag_04268

virtual ara::core::Future< ValidateAuthorizationOutput > Validate Authorization (ara::core::StringView token, const MetaInfo &metaInfo, ClientAuthentication &clientAuthentication) noexcept=0;

This function validates the authorization token sent by the SOVD client. The application shall validate the authorization token according to the authorization protocol used in the system and then according to the outcome set the respective roles as authorized in the clientAuthentication that is passed as parameter. If OAuth 2.0 is used, this would implement the validation that is supposed to happen in the Resource Server.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 78d8310937f8 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die rein virtuelle Methode ValidateAuthorization wird vom diagnostischen Server aufgerufen, wenn eine Anfrage eines SOVD-Clients einen Authorization-HTTP-Header enthält und dessen Token noch nicht gültig validiert vorliegt [SWS_DM_01470]. Die Anwendung prüft das übergebene Autorisierungstoken nach dem im System konfigurierten Protokoll (beispielsweise OAuth 2.0 im Kontext eines Resource Servers) und weist dem Client die entsprechenden Rollen zu [SWS_DM_01483].

Die Schnittstellenspezifikation umfasst folgende Parameter und Rückgaben SWS Diagnostics §8.52.1.1.3.5 „ValidateAuthorization“:

  • token (ara::core::StringView): Das aus dem HTTP-Header übermittelte Zugriffstoken [SWS_DM_01483].
  • metaInfo (const MetaInfo&): Metainformationen des diagnostischen Service-Ports [SWS_DM_01483].
  • clientAuthentication (ClientAuthentication&): Objekt, über das die Anwendung die authentifizierten Rollen des SOVD-Clients setzt [SWS_DM_01483]. Nach Bereitstellung des zurückgegebenen Future darf die Anwendung diese Referenz nicht mehr verwenden [SWS_DM_01483].
  • Rückgabewert: Ein ara::core::Future<ValidateAuthorizationOutput> [SWS_DM_01483]. Bei erfolgreicher Validierung enthält die Struktur ValidateAuthorizationOutput [SWS_DM_01927] den Gültigkeitszeitstempel validUntil [SWS_DM_01820] sowie die Client-Kennung identity [SWS_DM_01819].

Der Diagnostic Server betrachtet zugewiesene Rollen für Anfragen mit identischem Token bis zum Erreichen von validUntil als authentifiziert [SWS_DM_01469] und erkennt den SOVD-Client anhand des Tokens oder der Identität wieder [SWS_DM_01781] [SWS_DM_01782]. Diese Wiedererkennung ist unter anderem für temporäre Operationen und SOVD-Sperren erforderlich, da unauthentifizierten Clients der Sperrzugriff mit HTTP 401 verwehrt wird [SWS_DM_01783].

Im Fehlerfall wird das Future mit DiagSovdErrc::kInvalidAccessToken (ungültiges Token) oder DiagSovdErrc::kTemporarilyNotAvailable (z. B. Authentifizierungsserver vorübergehend nicht erreichbar) aufgelöst [SWS_DM_01483]. Die Funktion ist als noexcept und exceptionsicher spezifiziert; ob die Implementierung threadsicher sein muss, wird über den im Konstruktor übergebenen ConcurrencyType gesteuert [SWS_DM_01483].

Dieser Nutzungshinweis wurde von einer KI generiert; verbindlich ist ausschließlich die AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
tokenThe authorization token sent by the SOVD client in the HTTP Authorization header.
metaInfoThe meta information of a diagnostic service port.
clientAuthenticationObject used by the application to report the authenticated state of the SOVD client. After the returned Future is ready, the referenced object shall not be used any more by the application.

Rückgabewert

TypBeschreibung
ara::core::Future<ValidateAuthorizationOutput >Either ValidateAuthorizationOutput (for a successful validation) or an error code.

Fehler

FehlercodeBeschreibung
DiagSovdErrc::kInvalidAccessTokenrollback_semantics The access token provided by the client is invalid.
DiagSovdErrc::kTemporarilyNotAvailablerollback_semantics The request currently can’t be served, e.g. in case the access token currently can’t be verified (e.g. because online verification is needed and the authentication server can’t be reached).

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

Record
AUTOSAR/AP/record/SWS_DM_01483
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01483@rel:R25-11#8a2fbb69
Content hash
8a2fbb69
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01483
Status: valid/unmigrated Version: rel:R25-11#3ab745cf Versionshistorie & Revisions (1 transition, 5 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_01483@rel:R25-11#3ab745cf
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#8a2fbb692026-09-30
  • R22-11rel:R22-11#600c614a2026-10-14
  • R23-11rel:R23-11#0433454d2026-10-14
  • R24-11rel:R24-11#7b10afcc2026-10-14
  • R25-11rel:R25-11#3ab745cf2026-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

function ~SovdAuthorization [SWS_DM_01488] Upstream: RS_Diag_04268

virtual ~SovdAuthorization () noexcept;

Destructor of SovdAuthorization.

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopeclass ara::diag::SovdAuthorization
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_01488
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01488@rel:R25-11#3e0dc97d
Content hash
3e0dc97d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01488
Status: valid/unmigrated Version: rel:R25-11#4b141c27 Versionshistorie & Revisions (1 transition, 5 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_01488@rel:R25-11#4b141c27
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#3e0dc97d2026-09-30
  • R22-11rel:R22-11#a7d4ac032026-10-14
  • R23-11rel:R23-11#b65bc1cb2026-10-14
  • R24-11rel:R24-11#05fce8112026-10-14
  • R25-11rel:R25-11#4b141c272026-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