DEENESPTFRRUARHIKOZHNL

klasse ara::diag::ClientAuthentication

[SWS_DM_01132] Upstream: RS_Diag_04251

class ClientAuthentication final {...};

Interface for the application to inform the Diagnostic Server instance about the authentication states and the user roles that are currently authenticated.

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

User GuideAI-GEGENEREERD

Dient de applicatie voor het melden van authenticatietoestanden en actieve gebruikersrollen aan de Diagnostic Server.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 426d68eb26e1 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient de applicatie voor het melden van authenticatietoestanden en actieve gebruikersrollen aan de Diagnostic Server.

De interface stelt de applicatie in staat de Diagnostic Server te informeren over de authenticatiestatus en actieve gebruikersrollen van een diagnose-client [SWS_DM_01132]. Via aanroepen zoals Authenticate of OverrideDefaultRoles worden toestandswijzigingen bestuurd en worden handles voor het beheer van dynamische toegangslijsten ter beschikking gesteld [SWS_DM_01206]. Toestandswijzigingen als gevolg van timeouts kunnen via een notifier asynchroon worden bewaakt. Omdat de klasse niet thread-safe is en geen kopieën toestaat, moet de toegang binnen de applicatie gesynchroniseerd plaatsvinden.

Context

De klasse ara::diag::ClientAuthentication dient als centrale interface voor de applicatie om de instantie van de Diagnostic Server op de hoogte te stellen van authenticatietoestanden en de actueel geauthenticeerde gebruikersrollen [SWS_DM_01132], SWS Diagnostics, p. 129. Bij dit samenspel zijn drie essentiële partijen betrokken:

  • Applicatie (Application): Voert authenticatiecontroles uit – hetzij met gebruikmaking van interfaces van de Diagnostic Server of via applicatie-eigen mechanismen – en draagt gebruikersrollen over aan de Diagnostic Server [SWS_DM_01142].
  • Diagnostic Server / Diagnostic Manager: Beheert de diagnosesessies en handhaaft toegangsrechten tot diagnostische resources op basis van de rollen en de authenticatiestatus [SWS_DM_01206].
  • Diagnose-client: Een externe tester of SOVD-client die diagnoseverzoeken richt aan de ECU [SWS_DM_01210], [SWS_DM_01470].

Het aantal instanties van ClientAuthentication wordt vastgelegd door het modelelement DiagnosticExternalAuthenticationIdentification SWS Diagnostics, p. 129. Dit element maakt het mogelijk een authenticatie te configureren voor een client met een vast bronadres of over een adresbereik, indien het definitieve bronadres ten tijde van compilatie nog niet bekend is SWS Diagnostics, p. 129. Interpretatie: De toewijzing van diagnose-clients aan concrete instanties van ClientAuthentication vindt tijdens runtime plaats op basis van deze bronadresbereiken. Vraag Q-6cc7e791e678def2 (open) In het geval van SOVD-clients draagt de Diagnostic Server bij de validatie van het autorisatie-token via ara::diag::SovdAuthorization::ValidateAuthorization direct een ClientAuthentication-object over aan de applicatie [SWS_DM_01470].

Application Application ClientAuthentication ClientAuthentication Application->ClientAuthentication Get / Authenticate DiagnosticServer DiagnosticServer ClientAuthentication->DiagnosticServer Zustandsmeldung DiagnosticClient DiagnosticClient DiagnosticClient->DiagnosticServer Diagnoseanfrage

Contextdiagram: interactiepartners van de authenticatie-interface. Bronnen: [SWS_DM_01132], [SWS_DM_01202], [SWS_DM_01470], SWS Diagnostics, p. 129

Levenscyclus

De applicatie verkrijgt een instantie van ClientAuthentication via overbelaste methoden van ara::diag::ExternalAuthentication::Get [SWS_DM_01202] of in de context van de SOVD-tokenverificatie [SWS_DM_01470]. De klasse heeft strikte eigendomssemantiek: copy-constructor [SWS_DM_01139] en copy-assignment-operator [SWS_DM_01140] zijn verwijderd (=delete). Move-operaties (move-constructor [SWS_DM_01137] en move-assignment-operator [SWS_DM_01138]) zijn als standaard vooraf gedefinieerd en gedeclareerd als noexcept. De destructor is eveneens noexcept [SWS_DM_01136]. Alle memberfuncties evenals de destructor zijn niet thread-safe (not thread-safe) [SWS_DM_01136], [SWS_DM_01141], [SWS_DM_01142], [SWS_DM_01143], [SWS_DM_01144].

De authenticatiestatus wordt weergegeven via het enumeratietype DiagnosticAuthState [SWS_DM_01133]:

  • kDeAuthenticated (0x00): Er is geen diagnose-client geauthenticeerd. Bij de systeemstart bevindt de client zich standaard in deze toestand [SWS_DM_01205]. Hierbij gelden die rollen (DiagnosticAuthRole) als standaardrollen waarvan het attribuut isDefault is geconfigureerd op TRUE [SWS_DM_01204], [SWS_DM_01134]. Via OverrideDefaultRoles kunnen deze standaardrollen tijdelijk worden overschreven voor een vastgelegde timeout [SWS_DM_01141], [SWS_DM_01209].
  • kAuthenticated (0x01): Er is een diagnose-client geauthenticeerd. Deze toestand wordt bereikt door het aanroepen van Authenticate, waardoor de overgedragen gebruikersrollen in de Diagnostic Server worden geactiveerd [SWS_DM_01142], [SWS_DM_01206].

Een automatische toestandsovergang van kAuthenticated terug naar kDeAuthenticated wordt getriggerd wanneer een client in de standaardsessie na de laatste overdrachtsbevestiging (TransmitConfirmation) geen verdere verzoeken verzendt en de inactiviteitstijd verstrijkt [SWS_DM_01210], of wanneer een S3-timeout optreedt [SWS_DM_01144], [SWS_DM_02077].

kDeAuthenticated kDeAuthenticated kDeAuthenticated->kDeAuthenticated OverrideDefaultRoles() kAuthenticated kAuthenticated kDeAuthenticated->kAuthenticated Authenticate() kAuthenticated->kDeAuthenticated Inaktivitaet / S3-Timeout

Toestandsdiagram: levenscyclus en toestandsovergangen van de client-authenticatie. Bronnen: [SWS_DM_01133], [SWS_DM_01204], [SWS_DM_01205], [SWS_DM_01206], [SWS_DM_01209], [SWS_DM_01210]

Gebruikspad

Het reguliere verloop voor het beheer van de client-authenticatie omvat de volgende stappen:

  1. Notifier registreren: De applicatie registreert met SetNotifier een callback-functie van het type ClientAuthenticationSetNotifier (std::function<void(DiagnosticAuthState)>) [SWS_DM_01144], [SWS_DM_02077]. Daardoor wordt zij geïnformeerd wanneer statuswisselingen – bijvoorbeeld de overgang naar kDeAuthenticated door inactiviteit of een S3-timeout – optreden [SWS_DM_01144]. Een hernieuwde aanroep overschrijft de eerder ingestelde notifier [SWS_DM_01144].
  2. Toestand opvragen: Via de methode GetState() kan de applicatie de actuele authenticatietoestand van de client synchroon opvragen [SWS_DM_01143].
  3. Authenticatie melden: Zodra de authenticatie succesvol is afgerond, roept de applicatie Authenticate aan met de te activeren gebruikersrollen (ara::core::Vector<DiagnosticAuthRole>) [SWS_DM_01142], [SWS_DM_01134]. De Diagnostic Server stelt de toestand in op kAuthenticated en retourneert een ClientAuthenticationHandle [SWS_DM_01206].
  4. Toegangsrechten beheren: Via de verkregen ClientAuthenticationHandle kan de applicatie de dynamische toegangslijst (DynamicAccessList) voor de client configureren [SWS_DM_01213], SWS Diagnostics, p. 132. Tegelijkertijd wordt door het gebruik van deze handle het inactiviteitstijdsvenster van de client vernieuwd SWS Diagnostics, p. 133.

Als de client zich in de toestand kDeAuthenticated bevindt, kan de applicatie in plaats daarvan OverrideDefaultRoles(defaultRoles, timeout) aanroepen om tijdelijk alternatieve standaardrollen te activeren; ook deze aanroep retourneert bij succes een ClientAuthenticationHandle [SWS_DM_01141], [SWS_DM_01209].

Authenticatieverloop en rechtenbeheerApplicationClientAuthenticationDiagnosticServerSetNotifier(notifier)Result<void>Authenticate(userRoles)Status kAuthenticated en rollen instellenBestaetigung & HandleResult<ClientAuthenticationHandle>optClient-Inaktivitaet in Standard-Session / S3-TimeoutWechsel zu kDeAuthenticatednotifier(kDeAuthenticated)

Sequentiediagram: Aanroep- en notificatieverloop bij de authenticatie. Bronnen: [SWS_DM_01142], [SWS_DM_01144], [SWS_DM_01206], [SWS_DM_01210]

Foutscenario's

De methoden Authenticate, OverrideDefaultRoles en GetState leveren hun retourwaarden ingekapseld in ara::core::Result op en zijn uitzonderingsveilig (exception safe) alsmede noexcept gespecificeerd [SWS_DM_01141], [SWS_DM_01142], [SWS_DM_01143]. In geval van een fout wordt de volgende gestandaardiseerde foutcode gemeld:

Voor SetNotifier zijn geen gestandaardiseerde foutcodes gedefinieerd [SWS_DM_01144]. Als essentiële voorwaarde vereist OverrideDefaultRoles dat de client zich op het moment van de aanroep in de toestand kDeAuthenticated bevindt [SWS_DM_01209].

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11 (module diag) en is opgesteld voor autodocs.

Ledenkaart

Klassendiagram

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

G nara__diag__ClientAuthentication678 ClientAuthentication + ClientAuthentication() + ~ClientAuthentication() + Authenticate() + GetState() + OverrideDefaultRoles() + SetNotifier() + operator=()

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

Move constructor of ClientAuthentication.

Overloads ClientAuthentication 2
ClientAuthentication (ClientAuthentication &&other) noexcept=default; SWS_DM_01137
ClientAuthentication (ClientAuthentication const &other)=delete; SWS_DM_01139

Destructor of ClientAuthentication.

~ClientAuthentication () noexcept;

Methoden

Authenticate functie

This function is used by the application to report the authenticated state to the Diagnostic Server instance. The authentication could be either done using the Authentication interfaces of the Diagnostic Server instance, or through other means in the application.

GetState functie

This function is used by the application to query the current authentication state of the diagnostic client.

ara::core::Result< DiagnosticAuthState > GetState () const noexcept;

This method is used by the application to temporarily change the default AuthenticationRole for a Diagnostic Server Instance. The diagnostic services allowed in the passed defaultRoles are now accessible to the tester for a time period defined in the parameter timeout.

SetNotifier functie

This function is used by the application to set a Notifier function that shall be called by the Diagnostic Server instance when an Authentication Status Change occurs. This may be used, e.g, to notify the application when a transition to kDeAuthenticated state occurred due to an S3 timeout. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetNotifier (ClientAuthenticationSetNotifier notifier) noexcept;

Operatoren

operator= functie 2

Move assignment operator of ClientAuthentication.

Overloads = 2
auto operator= (ClientAuthentication &&other) & noexcept -> Client Authentication & =default; SWS_DM_01138
auto operator= (ClientAuthentication const &other) -> Client Authentication &=delete; SWS_DM_01140

Type-aliassen

Notifier Function that is called by the Diagnostic Server instance when an Authentication Status Change Occurs. This may be used, for e.g, to notify the application when a transition to kDeAuthenticated State occurred due to an S3 timeout.

using ClientAuthenticationSetNotifier = std::function<void(Diagnostic AuthState)>;

The supported values for the Diagnostic Authentication roles are specified in the Diagnostic Extract.

using DiagnosticAuthRole = ara::core::String;

Enumeraties

Possible values of the Authentication State of the client.

enum class DiagnosticAuthState : std::uint8_t {...};

Documentatie van de methoden

functie Authenticate [SWS_DM_01142] Upstream: RS_Diag_04251

ara::core::Result< ClientAuthenticationHandle > Authenticate (ara::core::Vector< DiagnosticAuthRole > userRoles) noexcept;

This function is used by the application to report the authenticated state to the Diagnostic Server instance. The authentication could be either done using the Authentication interfaces of the Diagnostic Server instance, or through other means in the application.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 06f87d723d7c Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroep

De functie ara::diag::ClientAuthentication::Authenticate wordt door een applicatie aangeroepen om de succesvolle authenticatie van een diagnoseclient door te geven aan de Diagnostic Server-instantie [SWS_DM_01142]. Dit kan plaatsvinden na een authenticatie via de interfaces van de Diagnostic Server of via applicatie-eigen mechanismen [SWS_DM_01142].

Als invoerparameter accepteert de functie userRoles (van het type ara::core::Vector<DiagnosticAuthRole>). Bij een succesvolle aanroep wisselt de authenticatiestatus van de instantie naar kAuthenticated en worden de overgedragen gebruikersrollen definitief overgenomen [SWS_DM_01206]. Als retourwaarde levert zij een ara::core::Result<ClientAuthenticationHandle> [SWS_DM_01142]. Aangezien er direct een Result-object beschikbaar wordt gesteld, vindt de verwerking vermoedelijk synchroon in de aanroepende context plaats. Vraag Q-dae22c82694f2103 (open)

Foutafhandeling en gelijktijdigheid

De methode is gedeclareerd als noexcept en geldt als uitzonderingsveilig (exception safe) [SWS_DM_01142]. Treedt er een fout op omdat fundamentele functionaliteiten van de Diagnostic Manager op het moment van aanroepen niet beschikbaar zijn, dan mislukt de operatie met rollback-semantiek en retourneert zij DiagErrc::kServiceNotAvailable in het Result-object [SWS_DM_01142].

Wat betreft gelijktijdigheid is de methode uitdrukkelijk gespecificeerd als not thread-safe [SWS_DM_01142]. Parallelle aanroepen op hetzelfde ClientAuthentication-object zijn daarom niet toegestaan en moeten door de applicatie worden gesynchroniseerd.

Zusammenspiel en levenscyclus

De verkregen ClientAuthenticationHandle stelt de applicatie in staat om een DynamicAccessList voor de geauthentiseerde client te definiëren of uit te breiden [SWS_DM_01142]. Bovendien start of refereert de aanroep de inactiviteitsbewaking van de client: blijft na succesvolle authenticatie in de standaardsessietoestand gedurende authenticationTimeout een volgend UDS-verzoek uit, dan reset de Diagnostic Server-instantie de client automatisch weer naar kDeAuthenticated [SWS_DM_01210]. Om deze time-out te voorkomen, kan de applicatie de timer via de methode Refresh van de handle bijwerken [SWS_DM_01155].

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.

Implementer's Guide volgt (complexiteit I2)

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

Parameter (in)

ParameterBeschreibung
userRolesThe user roles to set on the diagnostic client

Rückgabewert

TypBeschreibung
ara::core::Result< ClientAuthenticationHandle >A handler of the Authentication State, which can be used by the application to set or extend the DynamicAccessList

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01142
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01142@rel:R25-11#346a8f6e
Content hash
346a8f6e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01142
Status: valid/unmigrated Version: rel:R25-11#17cf8f55 Versionshistorie & Revisions (1 transition, 6 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_01142@rel:R25-11#17cf8f55
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ffd39a4b2026-09-30
  • R21-11rel:R21-11#6f17bd9a2026-10-14
  • R22-11rel:R22-11#1579f1692026-10-14
  • R23-11rel:R23-11#3b67657b2026-10-14
  • R24-11rel:R24-11#575f1e5f2026-10-14
  • R25-11rel:R25-11#17cf8f552026-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

functie ClientAuthentication [SWS_DM_01137] Upstream: RS_Diag_04251

ClientAuthentication (ClientAuthentication &&other) noexcept=default;

Move constructor of ClientAuthentication.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to move-construct from

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

Record
AUTOSAR/AP/record/SWS_DM_01137
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01137@rel:R25-11#2be28cc9
Content hash
2be28cc9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01137
Status: valid/unmigrated Version: rel:R25-11#3462794e Versionshistorie & Revisions (1 transition, 6 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_01137@rel:R25-11#3462794e
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#581961172026-09-30
  • R21-11rel:R21-11#f373d3152026-10-14
  • R22-11rel:R22-11#afdb12682026-10-14
  • R23-11rel:R23-11#5682468c2026-10-14
  • R24-11rel:R24-11#d6bf1b932026-10-14
  • R25-11rel:R25-11#3462794e2026-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

functie ClientAuthentication [SWS_DM_01139] Upstream: RS_Diag_04251

ClientAuthentication (ClientAuthentication const &other)=delete;

Copy constructor of ClientAuthentication cannot be used.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication

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

Record
AUTOSAR/AP/record/SWS_DM_01139
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01139@rel:R25-11#a91e0ceb
Content hash
a91e0ceb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01139
Status: valid/unmigrated Version: rel:R25-11#8625245a Versionshistorie & Revisions (1 transition, 6 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_01139@rel:R25-11#8625245a
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ab1768822026-09-30
  • R21-11rel:R21-11#1fb6defa2026-10-14
  • R22-11rel:R22-11#74808a772026-10-14
  • R23-11rel:R23-11#1b61e7822026-10-14
  • R24-11rel:R24-11#8625245a2026-10-14
  • R25-11rel:R25-11#8625245a2026-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

functie GetState [SWS_DM_01143] Upstream: RS_Diag_04251

ara::core::Result< DiagnosticAuthState > GetState () const noexcept;

This function is used by the application to query the current authentication state of the diagnostic client.

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

Rückgabewert

TypBeschreibung
ara::core::Result<DiagnosticAuthState >The Authentication State of the Diagnostic Client or error.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01143
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01143@rel:R25-11#3a819912
Content hash
3a819912
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01143
Status: valid/unmigrated Version: rel:R25-11#608570f4 Versionshistorie & Revisions (1 transition, 6 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_01143@rel:R25-11#608570f4
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#84da2c3e2026-09-30
  • R21-11rel:R21-11#d78810992026-10-14
  • R22-11rel:R22-11#fed2aecc2026-10-14
  • R23-11rel:R23-11#275163122026-10-14
  • R24-11rel:R24-11#23ca48ab2026-10-14
  • R25-11rel:R25-11#608570f42026-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

functie OverrideDefaultRoles [SWS_DM_01141] Upstream: RS_Diag_04251

ara::core::Result< ClientAuthenticationHandle > OverrideDefaultRoles (ara::core::Vector< DiagnosticAuthRole > defaultRoles, std::chrono::milliseconds timeout) noexcept;

This method is used by the application to temporarily change the default AuthenticationRole for a Diagnostic Server Instance. The diagnostic services allowed in the passed defaultRoles are now accessible to the tester for a time period defined in the parameter timeout.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4809043989e1 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Met de synchrone methode OverrideDefaultRoles van de klasse ara::diag::ClientAuthentication kan een applicatie de standaard authenticatierollen (defaultRoles) van een diagnoseclient tijdelijk overschrijven [SWS_DM_01141]. De voor de overgedragen rollen vrijgegeven diagnosediensten staan de tester ter beschikking voor de in de parameter timeout gedefinieerde tijdsperiode [SWS_DM_01141]. Voorwaarde hiervoor is dat de client zich in de toestand kDeAuthenticated bevindt [SWS_DM_01209]. Interpretatie: vindt de aanroep niet plaats in de toestand kDeAuthenticated, dan zal de roloverschrijving vermoedelijk worden afgewezen of zonder effect blijven, aangezien de specificatie het gedrag uitsluitend voor deze begintoestand voorschrijft. Vraag Q-81189f2c2fe0f301 (open)

Bij succesvolle uitvoering retourneert de methode een instantie van ClientAuthenticationHandle binnen een ara::core::Result aan de applicatie [SWS_DM_01141], [SWS_DM_01209]. Kan de aanroep niet worden uitgevoerd omdat essentiële functionaliteit van de Diagnostic Manager momenteel niet beschikbaar is, dan wordt de foutcode DiagErrc::kServiceNotAvailable geretourneerd [SWS_DM_01141]. De functie is gedeclareerd als noexcept en is uitzonderingsveilig (exception safe) [SWS_DM_01141].

Voor gelijktijdigheid en het samenspel met andere componenten gelden de volgende richtlijnen:

  • Gelijktijdigheid: De methode is gespecificeerd als not thread-safe [SWS_DM_01141]. Parallelle aanroepen op dezelfde instantie moeten aan de applicatiezijde worden gesynchroniseerd.
  • Handle-beheer: Via de geretourneerde instantie van ClientAuthenticationHandle kan de lopende timer worden verlengd met Refresh() [SWS_DM_01155]. Bovendien maakt de handle het beheer mogelijk van de DynamicAccessList voor aanvullende diagnoseresources AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”.

Deze gebruiksinstructie is geautomatiseerd opgesteld aan de hand van de AUTOSAR-specificaties.

Implementer's Guide volgt (complexiteit I2)

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

Parameter (in)

ParameterBeschreibung
defaultRolesThe default roles requested by the application, to be set on the diagnostic client
timeoutThe timeout until which the override request is active

Rückgabewert

TypBeschreibung
ara::core::Result< ClientAuthenticationHandle >Operation result

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01141
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01141@rel:R25-11#2a04108c
Content hash
2a04108c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01141
Status: valid/unmigrated Version: rel:R25-11#21bca5df Versionshistorie & Revisions (1 transition, 6 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_01141@rel:R25-11#21bca5df
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#852a402e2026-09-30
  • R21-11rel:R21-11#135b2de82026-10-14
  • R22-11rel:R22-11#70389b8e2026-10-14
  • R23-11rel:R23-11#e73e64042026-10-14
  • R24-11rel:R24-11#94dc59742026-10-14
  • R25-11rel:R25-11#21bca5df2026-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

functie SetNotifier [SWS_DM_01144] Upstream: RS_Diag_04251

ara::core::Result< void > SetNotifier (ClientAuthenticationSetNotifier notifier) noexcept;

This function is used by the application to set a Notifier function that shall be called by the Diagnostic Server instance when an Authentication Status Change occurs. This may be used, e.g, to notify the application when a transition to kDeAuthenticated state occurred due to an S3 timeout. A consecutive call of this method will overwrite the previous registered notifier.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 19ea8e6c95d7 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De methode [SWS_DM_01144] van de klasse ara::diag::ClientAuthentication dient ertoe dat de applicatie een callback-functie van het type ClientAuthenticationSetNotifier registreert. Deze wordt aangeroepen door de instantie van de Diagnostic Server zodra de authenticatiestatus van een client verandert [SWS_DM_01144]. Dit stelt de applicatie in staat om direct te reageren op statusovergangen, bijvoorbeeld wanneer na een S3-server-timeout een automatische overgang naar de status kDeAuthenticated plaatsvindt [SWS_DM_01211] of wanneer een time-out optreedt door inactiviteit van de client [SWS_DM_01210].

Foutafhandeling en retourwaarde

De functie retourneert een ara::core::Result<void> en is gedeclareerd als noexcept en uitzonderingsveilig (exception safe) [SWS_DM_01144]. Er zijn geen gestandaardiseerde foutcodes gespecificeerd [SWS_DM_01144]; vermoedelijk levert het Result-object bij normaal bedrijf altijd succes op (void). Vraag Q-0d7d43cc37d57944 (open)

Gelijktijdigheid en wisselwerking

Wat betreft thread-safety is de methode gespecificeerd als „not thread-safe” [SWS_DM_01144]. Aanroepen op dezelfde instantie mogen daarom niet onbeschermd vanuit concurrerende threads plaatsvinden. Bovendien geldt voor de registratie overschrijfgedrag: een hernieuwde aanroep van SetNotifier vervangt de eerder geregistreerde notifier volledig [SWS_DM_01144]. Dit gedrag komt overeen met het uniforme registratiepatroon in Diagnostic Management, zoals dat analoog ook is gedefinieerd voor [SWS_DM_00615] (CancellationHandler), [SWS_DM_00745] (Indicator) en [SWS_DM_00755] (OperationCycle).

Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie AUTOSAR Adaptive R25-11.

Implementer's Guide volgt (complexiteit I3)

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

Parameter (in)

ParameterBeschreibung
notifierThe notifier to call on state transition

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns void.

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_01144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01144@rel:R25-11#05b46494
Content hash
05b46494
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01144
Status: valid/unmigrated Version: rel:R25-11#ddcf5d80 Versionshistorie & Revisions (1 transition, 6 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_01144@rel:R25-11#ddcf5d80
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#bb5bb9422026-09-30
  • R21-11rel:R21-11#fec80c112026-10-14
  • R22-11rel:R22-11#2ece489f2026-10-14
  • R23-11rel:R23-11#7f1d62332026-10-14
  • R24-11rel:R24-11#107e99362026-10-14
  • R25-11rel:R25-11#ddcf5d802026-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

functie operator= [SWS_DM_01138] Upstream: RS_Diag_04251

auto operator= (ClientAuthentication &&other) & noexcept -> Client Authentication & =default;

Move assignment operator of ClientAuthentication.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to move-assign from.

Rückgabewert

TypBeschreibung
ClientAuthenticationClientAuthentication& Reference to self.

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

Record
AUTOSAR/AP/record/SWS_DM_01138
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01138@rel:R25-11#5b8660fe
Content hash
5b8660fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01138
Status: valid/unmigrated Version: rel:R25-11#76277668 Versionshistorie & Revisions (1 transition, 6 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_01138@rel:R25-11#76277668
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#f0894f262026-09-30
  • R21-11rel:R21-11#1107ed262026-10-14
  • R22-11rel:R22-11#9d8e860b2026-10-14
  • R23-11rel:R23-11#a3ca32ee2026-10-14
  • R24-11rel:R24-11#2d04d62d2026-10-14
  • R25-11rel:R25-11#762776682026-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

functie operator= [SWS_DM_01140] Upstream: RS_Diag_04251

auto operator= (ClientAuthentication const &other) -> Client Authentication &=delete;

Copy assignment operator of ClientAuthentication cannot be used.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication

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

Record
AUTOSAR/AP/record/SWS_DM_01140
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01140@rel:R25-11#13d8fb4e
Content hash
13d8fb4e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01140
Status: valid/unmigrated Version: rel:R25-11#83c48e25 Versionshistorie & Revisions (1 transition, 6 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_01140@rel:R25-11#83c48e25
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#2a4783d52026-09-30
  • R21-11rel:R21-11#f986a5382026-10-14
  • R22-11rel:R22-11#666e2c0b2026-10-14
  • R23-11rel:R23-11#9111a09e2026-10-14
  • R24-11rel:R24-11#41a505672026-10-14
  • R25-11rel:R25-11#83c48e252026-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

functie ~ClientAuthentication [SWS_DM_01136] Upstream: RS_Diag_04251

~ClientAuthentication () noexcept;

Destructor of ClientAuthentication.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9da38c214c58 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De destructor [SWS_DM_01136] van de klasse ara::diag::ClientAuthentication dient voor de vrijgave en de correcte ontmanteling van een instantie voor clientauthenticatie in Diagnostic Management. De functie is gedefinieerd in het headerbestand #include "ara/diag/client_authentication.h" en wordt synchroon aangeroepen aan het einde van de levensduur van het object (AUTOSAR_AP_SWS_Diagnostics §8.5.1.2.1.2 “Destructor”).

Voor het gebruik en de uitvoeringseigenschappen gelden de volgende bepalingen:

  • Aanroep en parameters: Als destructor heeft ~ClientAuthentication() noch overdrachtsparameters noch een retourwaarde.
  • Fout- en uitzonderingsveiligheid: De operatie is gespecificeerd als noexcept en exception safe [SWS_DM_01136]; bij de afbraak van het object worden gegarandeerd geen exceptions gegenereerd.
  • Concurrency: De aanroep is uitdrukkelijk geclassificeerd als not thread-safe. Een vernietiging van het object mag derhalve niet gelijktijdig met andere methode-aanroepen van dezelfde instantie plaatsvinden.

Het element implementeert de upstream-eis RS_Diag_04251 (AUTOSAR_AP_SWS_Diagnostics §8.5.1.2.1.2 “Destructor”). Interpretatie: Vóór de vernietiging van de instantie moeten actieve authenticatie- of communicatieprocessen van de applicatie vermoedelijk ordelijk worden beëindigd om ongedefinieerd gedrag als gevolg van het ontbreken van thread-safety te voorkomen. Vraag Q-cedd6f523eb2c1c3 (open)

Deze tekst is gegenereerd door een AI en dient als redactionele gebruiksinstructie.

Implementer's Guide volgt (complexiteit I1)

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
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_01136
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01136@rel:R25-11#1397994f
Content hash
1397994f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01136
Status: valid/unmigrated Version: rel:R25-11#ebd2efb0 Versionshistorie & Revisions (1 transition, 6 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_01136@rel:R25-11#ebd2efb0
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#5066950d2026-09-30
  • R21-11rel:R21-11#aa8b145e2026-10-14
  • R22-11rel:R22-11#e03e0f452026-10-14
  • R23-11rel:R23-11#a62b91a92026-10-14
  • R24-11rel:R24-11#393bc96e2026-10-14
  • R25-11rel:R25-11#ebd2efb02026-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

Documentatie van de enumeraties

enumeratie DiagnosticAuthState [SWS_DM_01133] Upstream: RS_Diag_04251

enum class DiagnosticAuthState :                std::uint8_t {...};

Possible values of the Authentication State of the client.

Header-Datei#include "ara/diag/client_authentication.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::ClientAuthentication
SymbolDiagnosticAuthState
Basistypstd::uint8_t

Werte

EnumeratorBeschreibung
kDeAuthenticated= 0x00 No Diagnostic Clients are currently authenticated.
kAuthenticated= 0x01 A Diagnostic Client is currently authenticated.

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

Record
AUTOSAR/AP/record/SWS_DM_01133
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01133@rel:R25-11#a072ce0e
Content hash
a072ce0e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01133
Status: valid/unmigrated Version: rel:R25-11#be2431b9 Versionshistorie & Revisions (1 transition, 6 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_01133@rel:R25-11#be2431b9
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ecdc884c2026-09-30
  • R21-11rel:R21-11#9ee5449e2026-10-14
  • R22-11rel:R22-11#9ee5449e2026-10-14
  • R23-11rel:R23-11#e21d94c52026-10-14
  • R24-11rel:R24-11#e21d94c52026-10-14
  • R25-11rel:R25-11#be2431b92026-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

Documentatie van de typealiassen

typealias ClientAuthenticationSetNotifier [SWS_DM_02077] Upstream: RS_Diag_04251

using ClientAuthenticationSetNotifier = std::function<void(Diagnostic AuthState)>;

Notifier Function that is called by the Diagnostic Server instance when an Authentication Status Change Occurs. This may be used, for e.g, to notify the application when a transition to kDeAuthenticated State occurred due to an S3 timeout.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
SymbolClientAuthenticationSetNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02077
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02077@rel:R25-11#6e1588fc
Content hash
6e1588fc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02077
Status: valid/unmigrated Version: rel:R25-11#9f8e8d05 Versionshistorie & Revisions (1 transition, 3 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_02077@rel:R25-11#9f8e8d05
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#00399c222026-09-30
  • R24-11rel:R24-11#b4d6fb532026-10-14
  • R25-11rel:R25-11#9f8e8d052026-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

typealias DiagnosticAuthRole [SWS_DM_01134] Upstream: RS_Diag_04251

using DiagnosticAuthRole = ara::core::String;

The supported values for the Diagnostic Authentication roles are specified in the Diagnostic Extract.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
SymbolDiagnosticAuthRole

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

Record
AUTOSAR/AP/record/SWS_DM_01134
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01134@rel:R25-11#c21d6c90
Content hash
c21d6c90
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01134
Status: valid/unmigrated Version: rel:R25-11#10bed2cf Versionshistorie & Revisions (1 transition, 6 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_01134@rel:R25-11#10bed2cf
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ecb176b92026-09-30
  • R21-11rel:R21-11#d3a529062026-10-14
  • R22-11rel:R22-11#7d6be0912026-10-14
  • R23-11rel:R23-11#7e7656532026-10-14
  • R24-11rel:R24-11#eb0bd58b2026-10-14
  • R25-11rel:R25-11#10bed2cf2026-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