DEENESPTFRRUARHIKOZHNL

структура ara::diag::SovdAuthorization::ValidateAuthorizationOutput

[SWS_DM_01927] Upstream: RS_Diag_04268

struct ValidateAuthorizationOutput {...};

Return type for ValidateAuthorization().

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

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

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

Объединяет результат проверки авторизации SOVD с идентификатором клиента и сроком действия кэширования.

Структура ara::diag::SovdAuthorization::ValidateAuthorizationOutput служит типом возвращаемого значения для проверки авторизации ValidateAuthorization() в модуле diag [SWS_DM_01927]. Она передает опциональный идентификатор клиента для распознавания и поддержания доступа к временным ресурсам, таким как процедуры или блокировки [SWS_DM_01819], а также момент времени окончания срока действия для промежуточного сохранения (кэширования) валидации [SWS_DM_01820]. Если поле идентификатора остается незаполненным, доступ к защищенным ресурсам прекращается, как только переданный токен истекает или становится недействительным [SWS_DM_01819].

Контекст

Структура ara::diag::SovdAuthorization::ValidateAuthorizationOutput выступает стандартизированным типом возвращаемого значения для операции ValidateAuthorization() в модуле diag AUTOSAR Adaptive Platform [SWS_DM_01927] AUTOSAR_AP_SWS_Diagnostics §8.52.2 «Struct: ValidateAuthorizationOutput». Она служит элементом интерфейса между прикладной логикой авторизации и Diagnostic Management при сервис-ориентированном диагностическом доступе (SOVD). Как только внешний диагностический клиент запрашивает доступ к ресурсам автомобиля по SOVD-токену, Diagnostic Management запрашивает валидацию. Структура передает два основных результата этой проверки: опциональный идентификационный признак клиента (identity) [SWS_DM_01819] и момент времени окончания срока действия для промежуточного сохранения авторизации (validUntil) [SWS_DM_01820].

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

Будучи структурой данных (Plain Struct), ValidateAuthorizationOutput имеет транзиентный жизненный цикл [SWS_DM_01927]. Она инстанцируется прикладной реализацией проверки авторизации, заполняется результатами валидации и передается по значению (Return-by-Value или move-семантика) вызывающему Diagnostic Management. Структура хранит свои поля данных identity типа ara::core::Optional<ara::core::String> [SWS_DM_01819] и validUntil типа std::chrono::system_clock::time_point [SWS_DM_01820] в виде прямых переменных-членов. Сам объект не имеет внутренних состояний или переходов состояний, однако через поле validUntil напрямую определяет время жизни состояния авторизации, поддерживаемого в Diagnostic Management (кэширование) [SWS_DM_01820]. Что касается параллелизма, экземпляр, вероятно, создается локально в потоке внутри вызова валидации; параллельный доступ на запись к одной и той же структуре не специфицирован (интерпретация: защита от гонок данных возлагается на вызывающее окружение). Вопрос Q-0579316b13023b31 (открытый) После обработки фреймворком жизненный цикл экземпляра структуры штатно завершается при выходе из области видимости.

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

Типичный процесс использования ValidateAuthorizationOutput подразделяется на следующие шаги:

  • Прием запроса: внешний клиент отправляет диагностический запрос SOVD с токеном безопасности в Diagnostic Management.
  • Запрос валидации: Diagnostic Management перенаправляет токен через ValidateAuthorization() в прикладной экземпляр авторизации.
  • Создание возвращаемого значения: приложение проверяет токен, инстанцирует ValidateAuthorizationOutput и устанавливает validUntil на момент времени, до которого данная авторизация может повторно использоваться [SWS_DM_01820] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.2 «validUntil».
  • Назначение идентификатора: если концепция безопасности предусматривает распознавание, приложение задает опциональное поле identity (например, client_id, sub или комбинацию) [SWS_DM_01819] AUTOSAR_AP_SWS_Diagnostics §8.52.2.1.1 «identity».
  • Анализ результата: Diagnostic Management принимает структуру, буферизует результат валидации до validUntil и сопоставляет временные ресурсы (такие как выполняющиеся диагностические процедуры или блокировки) с переданным идентификатором [SWS_DM_01819] [SWS_DM_01820].
Validierung von SOVD-ZugriffstokensSOVD-ClientDiagnostic ManagementSovdAuthorization-HandlerДиагностический запрос с токеномValidateAuthorization(token)Erzeuge ValidateAuthorizationOutputValidateAuthorizationOutput(identity, validUntil)Cache Token bis validUntilСвязать ресурсы с identityDiagnoseantwort

Диаграмма последовательности: процесс валидации и возврат ValidateAuthorizationOutput для проверки авторизации и буферизации. Источники: [SWS_DM_01819], [SWS_DM_01820], [SWS_DM_01927].

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

Хотя ValidateAuthorizationOutput как простой тип данных не генерирует собственных кодов ошибок или исключений, некорректное или неполное заполнение приводит к эксплуатационным ошибкам:

  • Отсутствие идентификатора клиента при обновлении токена: если identity не заполнено (пустой Optional), клиент обращается к временным ресурсам исключительно до тех пор, пока присутствует тот же токен и не истек срок validUntil [SWS_DM_01819]. Если клиент обновляет истекший токен, Diagnostic Management без заданного идентификатора не может распознать его; доступ к активным процедурам или существующим блокировкам утрачивается [SWS_DM_01819].
  • Недействительная или просроченная временная метка: если момент времени, переданный в validUntil, уже находится в прошлом, промежуточное сохранение в Diagnostic Management, вероятно, сразу не выполняется (интерпретация: каждый последующий запрос клиента принудительно вызывает повторную валидацию). Вопрос Q-c715941f9302fd13 (открытый)
  • Коллизия идентификаторов: если приложение авторизации ошибочно возвращает одинаковые строки идентификаторов для разных клиентов, Diagnostic Management классифицирует их как идентичные [SWS_DM_01819], что может привести к несанкционированному перехвату блокировок и временных ресурсов.

Данное руководство сформировано ИИ на основе спецификации AUTOSAR Adaptive Platform R25-11 (модуль diag).

UML-диаграмма классов

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

G nara__diag__SovdAuthorization__ValidateAuthorizationOutput846 «struct» ValidateAuthorizationOutput + identity + validUntil

Константы

identity переменная

Identity of the client. This identity string if present will be used to re-identify a client even if it uses a new token (e.g. because the old one expired) so that it has access to the temporary resources (e.g. running routines, locks, etc.). If the identity string is the same as one returned earlier, the client will be considered identical. Depending on the security concept it could be for example the ’client_id’, the ’sub’, or a combination of both. If the identity string is not provided, the client will only have access to the temporary resources as long as it provides the same access token and validUntil is not yet expired.

validUntil переменная

Time until this validation may be reused. The point in time until which the authentication state may be reused if the same token is provided by the client (caching).

Документация констант / переменных

переменная identity [SWS_DM_01819] Upstream: RS_Diag_04268

ara::core::Optional<ara::core::String> identity;

Identity of the client. This identity string if present will be used to re-identify a client even if it uses a new token (e.g. because the old one expired) so that it has access to the temporary resources (e.g. running routines, locks, etc.). If the identity string is the same as one returned earlier, the client will be considered identical. Depending on the security concept it could be for example the ’client_id’, the ’sub’, or a combination of both. If the identity string is not provided, the client will only have access to the temporary resources as long as it provides the same access token and validUntil is not yet expired.

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopestruct ara::diag::SovdAuthorization::ValidateAuthorizationOutput
Symbolidentity
Typara::core::Optional< ara::core::String >

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

Record
AUTOSAR/AP/record/SWS_DM_01819
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01819@rel:R25-11#687ff2dd
Content hash
687ff2dd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01819
Status: valid/unmigrated Version: rel:R25-11#4cf57b0a Versionshistorie & Revisions (1 transition, 4 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_01819@rel:R25-11#4cf57b0a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8dd343072026-09-30
  • R23-11rel:R23-11#7d3b6a842026-10-14
  • R24-11rel:R24-11#4cf57b0a2026-10-14
  • R25-11rel:R25-11#4cf57b0a2026-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

переменная validUntil [SWS_DM_01820] Upstream: RS_Diag_04268

std::chrono::system_clock::time_point validUntil;

Time until this validation may be reused. The point in time until which the authentication state may be reused if the same token is provided by the client (caching).

Header-Datei#include "ara/diag/sovd_authorization.h"
Scopestruct ara::diag::SovdAuthorization::ValidateAuthorizationOutput
SymbolvalidUntil
Typstd::chrono::system_clock::time_point

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

Record
AUTOSAR/AP/record/SWS_DM_01820
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01820@rel:R25-11#a018d83e
Content hash
a018d83e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01820
Status: valid/unmigrated Version: rel:R25-11#bd4ad359 Versionshistorie & Revisions (1 transition, 4 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_01820@rel:R25-11#bd4ad359
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#530250dc2026-09-30
  • R23-11rel:R23-11#bd4ad3592026-10-14
  • R24-11rel:R24-11#bd4ad3592026-10-14
  • R25-11rel:R25-11#bd4ad3592026-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