function 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.
Usage and Invocation
The function ara::diag::ClientAuthentication::Authenticate is called by an application to notify the Diagnostic Server instance of the successful authentication of a diagnostic client [SWS_DM_01142]. This can occur after authentication via the interfaces of the Diagnostic Server or via application-own mechanisms [SWS_DM_01142].
As an input parameter, the function accepts userRoles (of type ara::core::Vector<DiagnosticAuthRole>). Upon a successful call, the instance's authentication status transitions to kAuthenticated, and the passed user roles are firmly adopted [SWS_DM_01206]. As a return value, it provides a ara::core::Result<ClientAuthenticationHandle> [SWS_DM_01142]. Since a result object is provided immediately, the processing is likely to take place synchronously in the calling context. Question Q-dae22c82694f2103 (open)
Error Handling and Concurrency
The method is declared as noexcept and is considered exception safe (exception safe) [SWS_DM_01142]. If an error occurs because fundamental functionalities of the Diagnostic Manager are not available at invocation time, the operation fails with rollback semantics and returns DiagErrc::kServiceNotAvailable in the result object [SWS_DM_01142].
Regarding concurrency, the method is explicitly specified as not thread-safe [SWS_DM_01142]. Parallel calls on the same ClientAuthentication object are therefore not permitted and must be synchronized by the application.
Interaction and Lifecycle
The received ClientAuthenticationHandle allows the application to define or extend a DynamicAccessList for the authenticated client [SWS_DM_01142]. In addition, the call starts or references the inactivity monitoring of the client: if no further UDS request occurs after successful authentication in the default session state for the duration of authenticationTimeout, the Diagnostic Server instance automatically resets the client to kDeAuthenticated [SWS_DM_01210]. To prevent this timeout, the application can update the timer via method Refresh of the handle [SWS_DM_01155].
This text was generated by an AI based on the AUTOSAR specification.
Implementer's Guide to follow (complexity I2)
| Header-Datei | #include "ara/diag/client_authentication.h" |
|---|---|
| Scope | class ara::diag::ClientAuthentication |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | not thread-safe |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| userRoles | The user roles to set on the diagnostic client |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| ara::core::Result< ClientAuthenticationHandle > | A handler of the Authentication State, which can be used by the application to set or extend the DynamicAccessList |
Fehler
| Fehlercode | Beschreibung |
|---|---|
| DiagErrc::kServiceNotAvailable | rollback_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#ffd39a4b- Content hash
ffd39a4b- 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
Recorded Revisions (6):
- R25-11
rel:R25-11#ffd39a4b2026-09-30 - R21-11
rel:R21-11#6f17bd9a2026-10-14 - R22-11
rel:R22-11#1579f1692026-10-14 - R23-11
rel:R23-11#3b67657b2026-10-14 - R24-11
rel:R24-11#575f1e5f2026-10-14 - R25-11
rel:R25-11#17cf8f552026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · German original