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 Semantics) إلى 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 (التخزين المؤقت Caching) [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 (قيمة اختيارية فارغة)، فلن يتمكن العميل من الوصول إلى الموارد المؤقتة إلا طالما توفر الرمز المميز نفسه ولم ينتهِ 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#a20887d6
Content hash
a20887d6
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#6409e6bd
Content hash
6409e6bd
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