DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Позволяет приложениям проверять SOVD-токены, а также предоставлять URL авторизации и токенов.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 49d1f84283f8 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Позволяет приложениям проверять SOVD-токены, а также предоставлять URL авторизации и токенов.

Класс ara::diag::SovdAuthorization служит приложениям для реализации интерфейсов авторизации SOVD по отношению к Diagnostic Server ([SWS_DM_01490]). Он предоставляет методы для определения URL перенаправления для конечных точек авторизации и токенов, а также для проверки токенов доступа ([SWS_DM_01483]). Прием сообщений после инстанцирования должен быть явно активирован с помощью Offer(), а переданный объект аутентификации больше не должен использоваться после предоставления результата валидации.

Контекст

Класс ara::diag::SovdAuthorization предоставляет адаптивный интерфейс приложений для реализации механизмов авторизации и аутентификации для Service-Oriented Vehicle Diagnostics (SOVD) ([SWS_DM_01490]). Внутри архитектуры диагностики он выступает посредником между Diagnostic Server компонента Diagnostic Management (DM) и индивидуальной логикой авторизации приложения транспортного средства (SWS Diagnostics §7.3.3.2 «SOVD Request Validation and Verification»). Когда внешний SOVD-клиент запрашивает конечные точки для верификации клиента или получения токенов, Diagnostic Server перенаправляет эти запросы приложению для определения целевых URL ([SWS_DM_01471], [SWS_DM_01472]). При входящих диагностических запросах с заголовком авторизации HTTP класс проверяет валидность токена и определяет переданные роли доступа ([SWS_DM_01470]). Фактическая валидация на сервере авторизации (таком как OAuth 2.0), вероятно, выполняется в виде контекстно-зависимой интерпретации приложения через внешние сетевые протоколы, так как AUTOSAR здесь стандартизирует локальную точку передачи приложению. Вопрос Q-6ce702103e4966c7 (открытый)

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)

Контекстная диаграмма: взаимодействие между SOVD-клиентом, Diagnostic Server (DM), SovdAuthorization и внешней службой авторизации. Источники: [SWS_DM_01470], [SWS_DM_01471], [SWS_DM_01472], SWS Diagnostics §7.3.3.2.1 «SOVD – Authorization»

Жизненный цикл

Инстанцирование ara::diag::SovdAuthorization осуществляется явно через конструктор с указанием ara::core::InstanceSpecifier, а также режима параллелизма ConcurrencyType ([SWS_DM_01489]). InstanceSpecifier в манифесте должен указывать на действительный PortPrototype элемента DiagnosticSovdAuthorizationInterface. Через ConcurrencyType (kConcurrent или kNotConcurrent) определяется, должны ли реализованные методы обратного вызова приложения быть потокобезопасными ([SWS_DM_01483], [SWS_DM_01484], [SWS_DM_01485]).

После конструирования Diagnostic Server начинает перенаправлять запросы только тогда, когда приложение успешно вызвало метод Offer() ([SWS_DM_01487]). Интерпретация: запросы, поступившие до Offer(), вероятно, отбрасываются сервером или отклоняются с ошибкой. Вопрос Q-84330742a61f91a7 (открытый) Чтобы прекратить перенаправление запросов, приложение вызывает StopOffer() ([SWS_DM_01486]). Наконец, объект освобождается через виртуальный деструктор ([SWS_DM_01488]). Административные вызовы SovdAuthorization, Offer, StopOffer и деструктор не являются потокобезопасными.

Путь использования

В процессе работы возникают два основных сценария взаимодействия: предоставление URL перенаправления и валидация активных токенов сессии. Если SOVD-клиент отправляет запрос на верификацию клиента или запрос токена, DM вызывает GetAuthorizationUrl() ([SWS_DM_01485]) или GetTokenUrl() ([SWS_DM_01484]). Приложение оценивает переданные queryParameters, а также metaInfo и асинхронно возвращает целевой URL в виде ara::core::Future<ara::core::String>, после чего DM отвечает кодом HTTP 307 (Temporary Redirect) ([SWS_DM_01471], [SWS_DM_01472]).

Если последующий запрос SOVD содержит новый или измененный заголовок HTTP Authorization, Diagnostic Server вызывает ValidateAuthorization() ([SWS_DM_01470], [SWS_DM_01483]). Приложение валидирует переданный token, присваивает ссылающемуся объекту ara::diag::ClientAuthentication соответствующие роли полномочий ([SWS_DM_01469]) и через Future возвращает ValidateAuthorizationOutput. Важное предусловие: как только Future готов, приложению больше не разрешается использовать ссылающийся объект ClientAuthentication ([SWS_DM_01483]). DM использует возвращаемые значения (срок действия validUntil и identity), чтобы сопоставлять последующие запросы того же клиента без повторной проверки ([SWS_DM_01781], [SWS_DM_01782]), что особенно необходимо для блокировок ресурсов SOVD ([SWS_DM_01783]).

Процесс валидации токена SOVDSOVD-ClientDiagnostic Server (DM)SovdAuthorizationClientAuthenticationЗапрос SOVD с заголовком AuthorizationValidateAuthorization(token, metaInfo, clientAuth)Валидировать токен локально или онлайнRollen als autorisiert setzenFuture ready: ValidateAuthorizationOutputПовторно идентифицировать клиент и применить ролиHTTP 200 OK / доступ к ресурсу предоставлен

Диаграмма последовательности: процесс валидации токена через ValidateAuthorization и назначение ролей. Источники: [SWS_DM_01469], [SWS_DM_01470], [SWS_DM_01483], SWS Diagnostics §7.3.3.2.1 «SOVD – Authorization»

Сценарии ошибок

Ошибки отображаются через ara::core::Result или внутри возвращаемого ara::core::Future:

  • Ошибки инициализации и моделирования: если инстанцирование завершается сбоем, сообщается о нарушениях, таких как InstanceSpecifierMappingIntegrityViolation (недопустимый элемент модели), PortInterfaceMappingViolation (неверный тип интерфейса), ProcessMappingViolation (отсутствие привязки к процессу) или InstanceSpecifierAlreadyInUseViolation ([SWS_DM_01489]).
  • Ошибки публикации при Offer: Offer() в случае ошибки возвращает DiagOfferErrc::kAlreadyOffered, если служба уже активна, или DiagOfferErrc::kConfigurationMismatch, если конфигурация не совпадает с данными DEXT ([SWS_DM_01487]).
  • Ошибки при валидации токена: если токен не может быть верифицирован, ValidateAuthorization() через future возвращает DiagSovdErrc::kInvalidAccessToken (недействительный токен) или DiagSovdErrc::kTemporarilyNotAvailable (например, если сервер аутентификации недоступен для онлайн-верификации) ([SWS_DM_01483]).
  • Определение URL: для GetAuthorizationUrl() и GetTokenUrl() стандартизированные коды ошибок не определены ([SWS_DM_01484], [SWS_DM_01485]).

Настоящее руководство основано исключительно на спецификациях AUTOSAR релиза R25-11.

Карта членов

Конструкторы и деструктор

2

Вложенные типы

1

Диаграмма классов

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

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

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

SovdAuthorization функция

Constructs the port for SOVD Authorization interface.

explicit SovdAuthorization (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;
~SovdAuthorization функция

Destructor of SovdAuthorization.

virtual ~SovdAuthorization () noexcept;

Методы

GetAuthorizationUrl функция

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 функция

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 функция

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

ara::core::Result< void > Offer () noexcept;
StopOffer функция

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

void StopOffer () noexcept;
ValidateAuthorization функция

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;

Вложенные типы

Документация методов

функция 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#c3f7df26
Content hash
c3f7df26
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

функция 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#fffa58d8
Content hash
fffa58d8
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0834519262c7 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция-член Offer класса ara::diag::SovdAuthorization активирует пересылку сообщений запроса через Diagnostic Management (DM) соответствующему экземпляру обработчика [SWS_DM_01487]. Она не принимает параметров и возвращает ara::core::Result<void>, подтверждающий успешный вызов или сообщающий о возникшей ошибке [SWS_DM_01487].

Что касается обработки ошибок, [SWS_DM_01487] специфицирует два конкретных кода ошибок из DiagOfferErrc с семантикой отката:

  • DiagOfferErrc::kAlreadyOffered: возникает, если служба для этого экземпляра уже предлагается [SWS_DM_01487].
  • DiagOfferErrc::kConfigurationMismatch: сообщает, что конфигурация не совпадает с данными описания DEXT [SWS_DM_01487].

Что касается характеристик выполнения, вызов объявлен как исключеннобезопасный (exception safe), однако считается не потокобезопасным (not thread-safe) [SWS_DM_01487]. Поэтому функция не должна вызываться конкурентно для одного и того же экземпляра.

Во взаимодействии с DM функция соответствует общему шаблону предоставления диагностических интерфейсов AUTOSAR Adaptive, который также используется для типовых процедур или служб DoIP (например, [SWS_DM_00557], [SWS_DM_00725] или [SWS_DM_00809]). Пока обработчик не зарегистрирован через Offer, DM не пересылает запросы приложению либо обслуживает их с предопределенными значениями по умолчанию [SWS_DM_01487], [SWS_DM_01525], [SWS_DM_01527].

Этот текст создан ИИ. Все данные основаны исключительно на предоставленной выдержке из спецификации.

Руководство разработчика реализации в подготовке (сложность 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#234cddd5
Content hash
234cddd5
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

функция 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#ae18041e
Content hash
ae18041e
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

функция StopOffer [SWS_DM_01486] Upstream: RS_Diag_04268

void StopOffer () noexcept;

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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c318a30e32ad Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод StopOffer класса ara::diag::SovdAuthorization (заголовочный файл ara/diag/sovd_authorization.h) служит для прекращения пересылки входящих диагностических запросов из Diagnostic Management (DM) службе авторизации [SWS_DM_01486]. Функция имеет сигнатуру void StopOffer() noexcept. Она не принимает параметров и не возвращает вызывающей стороне значения [SWS_DM_01486].

Обработка ошибок и параллелизм

Функция специфицирована как исключеннобезопасная (exception safe) и не генерирует исключений [SWS_DM_01486]. Специфические коды ошибок, а также сообщения об ошибках в DET или DEM для этого вызова не предусмотрены. Что касается конкурентности, метод классифицирован как не потокобезопасный (not thread-safe) [SWS_DM_01486]. Если несколько потоков используют один и тот же контекст экземпляра, доступ должен синхронизироваться вызывающим приложением. Интерпретация: вызов, вероятно, выполняется прежде всего при штатном завершении работы приложения или при временном снятии готовности к авторизации. Вопрос Q-6c81f2dc7ee903ca (открытый)

Взаимодействие

Концепция следует общему шаблону проектирования интерфейсов в AUTOSAR Adaptive Diagnostics: наименование StopOffer было выбрано по аналогии с сервисными интерфейсами ara::com, однако представляет собой самостоятельную реализацию в рамках ara::diag AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». Такая же семантика деактивации встречается в масштабах всего модуля у множества других портовых интерфейсов, например у GenericRoutine [SWS_DM_00558], Authentication [SWS_DM_01131], CommunicationControl [SWS_DM_00810], а также Monitor [SWS_DM_01089].

Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR AP R25-11.

Руководство разработчика реализации в подготовке (сложность 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#944e539d
Content hash
944e539d
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 78d8310937f8 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Чисто виртуальный метод ValidateAuthorization вызывается диагностическим сервером, когда запрос SOVD-клиента содержит HTTP-заголовок Authorization и его токен ещё не прошёл валидную проверку [SWS_DM_01470]. Приложение проверяет переданный токен авторизации в соответствии со сконфигурированным в системе протоколом (например, OAuth 2.0 в контексте Resource Server) и назначает клиенту соответствующие роли [SWS_DM_01483].

Спецификация интерфейса охватывает следующие параметры и возвращаемые значения SWS Diagnostics §8.52.1.1.3.5 «ValidateAuthorization»:

  • token (ara::core::StringView): переданный из HTTP-заголовка токен доступа [SWS_DM_01483].
  • metaInfo (const MetaInfo&): метаинформация диагностического сервисного порта [SWS_DM_01483].
  • clientAuthentication (ClientAuthentication&): объект, через который приложение задаёт аутентифицированные роли SOVD-клиента [SWS_DM_01483]. После предоставления возвращённого Future приложению больше не разрешается использовать эту ссылку [SWS_DM_01483].
  • Возвращаемое значение: ara::core::Future<ValidateAuthorizationOutput> [SWS_DM_01483]. При успешной валидации структура ValidateAuthorizationOutput [SWS_DM_01927] содержит временную метку срока действия validUntil [SWS_DM_01820], а также идентификатор клиента identity [SWS_DM_01819].

Diagnostic Server рассматривает назначенные роли для запросов с идентичным токеном как аутентифицированные до достижения validUntil [SWS_DM_01469] и повторно распознаёт SOVD-клиента по токену или идентичности [SWS_DM_01781] [SWS_DM_01782]. Это повторное распознавание необходимо, помимо прочего, для временных операций и блокировок SOVD, поскольку неаутентифицированным клиентам доступ к блокировкам отклоняется с кодом HTTP 401 [SWS_DM_01783].

В случае ошибки Future разрешается с DiagSovdErrc::kInvalidAccessToken (недействительный токен) или DiagSovdErrc::kTemporarilyNotAvailable (например, сервер аутентификации временно недоступен) [SWS_DM_01483]. Функция специфицирована как noexcept и исключениебезопасная; то, должна ли реализация быть потокобезопасной, управляется через ConcurrencyType, переданный в конструкторе [SWS_DM_01483].

Данное указание по использованию было сгенерировано ИИ; обязательную силу имеет исключительно спецификация AUTOSAR.

Руководство разработчика реализации в подготовке (сложность 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#5eb1fe03
Content hash
5eb1fe03
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

функция ~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#f6e1a503
Content hash
f6e1a503
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