DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite a las aplicaciones validar tokens SOVD así como proporcionar URL de autorización y de token.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 49d1f84283f8 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite a las aplicaciones validar tokens SOVD así como proporcionar URL de autorización y de token.

La clase ara::diag::SovdAuthorization sirve a las aplicaciones para implementar las interfaces de autorización SOVD frente al Diagnostic Server ([SWS_DM_01490]). Proporciona métodos para determinar URL de redirección para endpoints de autorización y de token, así como para verificar tokens de acceso ([SWS_DM_01483]). La recepción de mensajes debe activarse explícitamente con Offer() tras la instanciación, y el objeto de autenticación transferido ya no debe utilizarse tras proporcionar el resultado de la validación.

Contexto

La clase ara::diag::SovdAuthorization proporciona la interfaz de aplicación adaptativa para suministrar mecanismos de autorización y autenticación para Service-Oriented Vehicle Diagnostics (SOVD) ([SWS_DM_01490]). Dentro de la arquitectura de diagnóstico, media entre el Diagnostic Server de Diagnostic Management (DM) y la lógica de autorización individual de la aplicación del vehículo (SWS Diagnostics §7.3.3.2 «SOVD Request Validation and Verification»). Cuando un cliente SOVD externo consulta endpoints para la verificación de clientes o para la obtención de tokens, el Diagnostic Server reenvía estas solicitudes a la aplicación para determinar las URL de destino ([SWS_DM_01471], [SWS_DM_01472]). En solicitudes de diagnóstico entrantes con encabezado de autorización HTTP, la clase comprueba la validez del token y define los roles de acceso transmitidos ([SWS_DM_01470]). La validación efectiva frente a un servidor de autorización (como OAuth 2.0) probablemente se realice como interpretación específica de la aplicación mediante protocolos de red externos, ya que AUTOSAR estandariza aquí el punto de entrega local a la aplicación. Pregunta Q-6ce702103e4966c7 (abierta)

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)

Diagrama de contexto: interacción entre cliente SOVD, Diagnostic Server (DM), SovdAuthorization y servicio de autorización externo. Fuentes: [SWS_DM_01470], [SWS_DM_01471], [SWS_DM_01472], SWS Diagnostics §7.3.3.2.1 «SOVD – Authorization»

Ciclo de vida

La instanciación de ara::diag::SovdAuthorization se realiza explícitamente a través del constructor indicando un ara::core::InstanceSpecifier así como el modo de concurrencia ConcurrencyType ([SWS_DM_01489]). El InstanceSpecifier debe hacer referencia en el manifiesto a un PortPrototype válido de un DiagnosticSovdAuthorizationInterface. Mediante el ConcurrencyType (kConcurrent o kNotConcurrent) se define si los métodos callback implementados de la aplicación deben estar diseñados para ser seguros para hilos ([SWS_DM_01483], [SWS_DM_01484], [SWS_DM_01485]).

Tras la construcción, el Diagnostic Server no reenvía solicitudes hasta que la aplicación haya llamado con éxito al método Offer() ([SWS_DM_01487]). Interpretación: el servidor probablemente descarte o rechace con un error las solicitudes que lleguen antes de Offer(). Pregunta Q-84330742a61f91a7 (abierta) Para finalizar el reenvío de solicitudes, la aplicación llama a StopOffer() ([SWS_DM_01486]). Por último, el objeto se libera a través del destructor virtual ([SWS_DM_01488]). Las llamadas administrativas SovdAuthorization, Offer, StopOffer y el destructor no son seguros para hilos.

Ruta de uso

Durante el funcionamiento continuo surgen dos rutas de interacción principales: la provisión de URL de redirección y la validación de tokens de sesión activos. Si un cliente SOVD envía una consulta para la verificación de cliente o para solicitar un token, el DM llama a GetAuthorizationUrl() ([SWS_DM_01485]) o a GetTokenUrl() ([SWS_DM_01484]). La aplicación evalúa los queryParameters transferidos así como la metaInfo y devuelve la URL de destino de forma asíncrona como ara::core::Future<ara::core::String>, tras lo cual el DM responde con un HTTP 307 (Temporary Redirect) ([SWS_DM_01471], [SWS_DM_01472]).

Si una solicitud SOVD subsiguiente contiene un encabezado HTTP Authorization nuevo o modificado, el Diagnostic Server llama a ValidateAuthorization() ([SWS_DM_01470], [SWS_DM_01483]). La aplicación valida el token transferido, asigna al objeto referenciado ara::diag::ClientAuthentication los roles de autorización correspondientes ([SWS_DM_01469]) y devuelve a través del Future un ValidateAuthorizationOutput. Precondición importante: tan pronto como el Future esté disponible, la aplicación ya no debe utilizar el objeto ClientAuthentication referenciado ([SWS_DM_01483]). El DM utiliza los valores de retorno (duración de validez validUntil y identity) para asociar solicitudes subsiguientes del mismo cliente sin necesidad de una nueva comprobación ([SWS_DM_01781], [SWS_DM_01782]), lo cual es necesario en particular para bloqueos de recursos SOVD ([SWS_DM_01783]).

Flujo de la validación de tokens SOVDSOVD-ClientDiagnostic Server (DM)SovdAuthorizationClientAuthenticationSolicitud SOVD con encabezado AuthorizationValidateAuthorization(token, metaInfo, clientAuth)Validar token internamente o en líneaRollen als autorisiert setzenFuture ready: ValidateAuthorizationOutputReidentificar cliente y asumir rolesHTTP 200 OK / acceso a recursos concedido

Diagrama de secuencia: desarrollo de la validación de tokens mediante ValidateAuthorization y asignación de roles. Fuentes: [SWS_DM_01469], [SWS_DM_01470], [SWS_DM_01483], SWS Diagnostics §7.3.3.2.1 «SOVD – Authorization»

Escenarios de error

Los errores se representan a través de ara::core::Result o dentro del ara::core::Future devuelto:

  • Errores de inicialización y de modelado: si la instanciación falla, se notifican infracciones, tales como InstanceSpecifierMappingIntegrityViolation (elemento de modelo no válido), PortInterfaceMappingViolation (tipo de interfaz incorrecto), ProcessMappingViolation (falta de referencia de proceso) o InstanceSpecifierAlreadyInUseViolation ([SWS_DM_01489]).
  • Errores de habilitación en Offer: Offer() devuelve en caso de error DiagOfferErrc::kAlreadyOffered, en caso de que el servicio ya esté activo, o DiagOfferErrc::kConfigurationMismatch, en caso de que la configuración no coincida con los datos DEXT ([SWS_DM_01487]).
  • Errores en la validación de tokens: si un token no puede verificarse, ValidateAuthorization() proporciona a través del future DiagSovdErrc::kInvalidAccessToken (token no válido) o DiagSovdErrc::kTemporarilyNotAvailable (p. ej., si el servidor de autenticación no está accesible para la verificación en línea) ([SWS_DM_01483]).
  • Determinación de URL: para GetAuthorizationUrl() y GetTokenUrl() no hay definidos códigos de error estandarizados ([SWS_DM_01484], [SWS_DM_01485]).

Esta guía se basa exclusivamente en las especificaciones del release R25-11 de AUTOSAR.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Constructs the port for SOVD Authorization interface.

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

Destructor of SovdAuthorization.

virtual ~SovdAuthorization () noexcept;

Métodos

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 función

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 función

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

ara::core::Result< void > Offer () noexcept;
StopOffer función

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;

Tipos anidados

Documentación de los métodos

función 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#da2b1e78
Content hash
da2b1e78
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

función 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#91075c3e
Content hash
91075c3e
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0834519262c7 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función miembro síncrona Offer de la clase ara::diag::SovdAuthorization activa el reenvío de mensajes de solicitud por parte de Diagnostic Management (DM) a la instancia de gestor correspondiente [SWS_DM_01487]. No recibe parámetros y devuelve un ara::core::Result<void>, que confirma la llamada exitosa o notifica un error ocurrido [SWS_DM_01487].

En cuanto al tratamiento de errores, [SWS_DM_01487] especifica dos códigos de error concretos de DiagOfferErrc con semántica de reversión:

  • DiagOfferErrc::kAlreadyOffered: ocurre cuando el servicio ya se está ofreciendo para esta instancia [SWS_DM_01487].
  • DiagOfferErrc::kConfigurationMismatch: notifica que la configuración no coincide con los datos de descripción DEXT [SWS_DM_01487].

Respecto a las propiedades de ejecución, la llamada está declarada como segura frente a excepciones (exception safe), pero se considera no segura para subprocesos (not thread-safe) [SWS_DM_01487]. Por lo tanto, la función no debe invocarse de forma concurrente para la misma instancia.

En la interacción con el DM, la función corresponde al patrón de provisión general de las interfaces de diagnóstico de AUTOSAR Adaptive, tal como se utiliza también para rutinas genéricas o servicios DoIP (por ejemplo [SWS_DM_00557], [SWS_DM_00725] o [SWS_DM_00809]). Mientras un gestor no haya sido registrado a través de Offer, el DM no reenvía las solicitudes a la aplicación o las atiende con valores sustitutivos predefinidos [SWS_DM_01487], [SWS_DM_01525], [SWS_DM_01527].

Este texto fue creado por una IA. Todos los datos se basan exclusivamente en el extracto de especificación proporcionado.

Guía del implementador pendiente (complejidad 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#5c486d6e
Content hash
5c486d6e
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

función 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#a4cc8f93
Content hash
a4cc8f93
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

función StopOffer [SWS_DM_01486] Upstream: RS_Diag_04268

void StopOffer () noexcept;

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c318a30e32ad Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método StopOffer de la clase ara::diag::SovdAuthorization (encabezado ara/diag/sovd_authorization.h) sirve para impedir el reenvío de solicitudes de diagnóstico entrantes desde Diagnostic Management (DM) al servicio de autorización [SWS_DM_01486]. La función posee la firma void StopOffer() noexcept. No toma parámetros y no devuelve ningún valor al llamador [SWS_DM_01486].

Tratamiento de errores y concurrencia

La función está especificada como segura frente a excepciones (exception safe) y no lanza excepciones [SWS_DM_01486]. No se contemplan códigos de error específicos ni mensajes de error para DET o DEM en esta llamada. En cuanto a la concurrencia, el método está clasificado como no seguro para subprocesos (not thread-safe) [SWS_DM_01486]. Si múltiples subprocesos utilizan el mismo contexto de instancia, la aplicación que realiza la llamada debe sincronizar el acceso. Interpretación: es probable que la llamada se produzca sobre todo durante la parada ordenada de la aplicación o cuando se retire temporalmente la disposición para la autorización. Pregunta Q-6c81f2dc7ee903ca (abierta)

Interacción

El concepto sigue el patrón de diseño general para interfaces en el diagnóstico de AUTOSAR Adaptive: la designación StopOffer se eligió siguiendo las interfaces de servicio de ara::com, pero representa una implementación independiente dentro de ara::diag AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». La misma semántica de desactivación se encuentra en todo el módulo en muchas otras interfaces de puerto, por ejemplo en GenericRoutine [SWS_DM_00558], Authentication [SWS_DM_01131], CommunicationControl [SWS_DM_00810], así como en Monitor [SWS_DM_01089].

Esta nota de uso se ha generado de forma automatizada a partir de la especificación AUTOSAR AP R25-11.

Guía del implementador pendiente (complejidad 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#c1ebad59
Content hash
c1ebad59
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 78d8310937f8 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método puramente virtual ValidateAuthorization es invocado por el servidor de diagnóstico cuando una solicitud de un cliente SOVD contiene una cabecera HTTP Authorization y su token aún no está validado de forma efectiva [SWS_DM_01470]. La aplicación comprueba el token de autorización transferido de acuerdo con el protocolo configurado en el sistema (por ejemplo, OAuth 2.0 en el contexto de un Resource Server) y asigna los roles correspondientes al cliente [SWS_DM_01483].

La especificación de la interfaz comprende los siguientes parámetros y retornos SWS Diagnostics §8.52.1.1.3.5 «ValidateAuthorization»:

  • token (ara::core::StringView): El token de acceso transmitido desde la cabecera HTTP [SWS_DM_01483].
  • metaInfo (const MetaInfo&): Metainformación del puerto de servicio de diagnóstico [SWS_DM_01483].
  • clientAuthentication (ClientAuthentication&): Objeto a través del cual la aplicación establece los roles autenticados del cliente SOVD [SWS_DM_01483]. Una vez proporcionado el Future devuelto, la aplicación no debe seguir utilizando esta referencia [SWS_DM_01483].
  • Valor de retorno: Un ara::core::Future<ValidateAuthorizationOutput> [SWS_DM_01483]. En caso de validación satisfactoria, la estructura ValidateAuthorizationOutput [SWS_DM_01927] contiene la marca de tiempo de validez validUntil [SWS_DM_01820] así como el identificador de cliente identity [SWS_DM_01819].

El Diagnostic Server considera autenticados los roles asignados para solicitudes con un token idéntico hasta alcanzar validUntil [SWS_DM_01469] y reconoce nuevamente al cliente SOVD a partir del token o de la identidad [SWS_DM_01781] [SWS_DM_01782]. Este reconocimiento es necesario, entre otras cosas, para operaciones temporales y bloqueos SOVD, dado que a los clientes no autenticados se les deniega el acceso a los bloqueos con HTTP 401 [SWS_DM_01783].

En caso de fallo, el Future se resuelve con DiagSovdErrc::kInvalidAccessToken (token no válido) o DiagSovdErrc::kTemporarilyNotAvailable (p. ej., servidor de autenticación temporalmente inaccesible) [SWS_DM_01483]. La función está especificada como noexcept y segura frente a excepciones; si la implementación debe ser segura para hilos se controla a través del ConcurrencyType transferido en el constructor [SWS_DM_01483].

Esta nota de uso fue generada por una IA; únicamente es vinculante la especificación AUTOSAR.

Guía del implementador pendiente (complejidad 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#1c9b8743
Content hash
1c9b8743
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

función ~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#dd4f8e98
Content hash
dd4f8e98
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