Stelt applicaties in staat SOVD-tokens te valideren en autorisatie- en token-URL's beschikbaar te stellen.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 49d1f84283f8HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Stelt applicaties in staat SOVD-tokens te valideren en autorisatie- en token-URL's beschikbaar te stellen.
De klasse ara::diag::SovdAuthorization dient voor applicaties ter implementatie van de SOVD-autorisatie-interfaces naar de Diagnostic Server ([SWS_DM_01490]). Ze stelt methoden beschikbaar voor het bepalen van omleidings-URL's voor autorisatie- en token-eindpunten en voor het controleren van toegangstokens ([SWS_DM_01483]). De berichtenontvangst moet na de instantiatie expliciet worden geactiveerd met Offer(), en het doorgegeven authenticatie-object mag na het beschikbaar stellen van het validatieresultaat niet meer worden gebruikt.
Context
De klasse ara::diag::SovdAuthorization stelt de adaptieve applicatie-interface beschikbaar om autorisatie- en authenticatiemechanismen voor Service-Oriented Vehicle Diagnostics (SOVD) te bieden ([SWS_DM_01490]). Binnen de diagnosearchitectuur bemiddelt ze tussen de Diagnostic Server van het Diagnostic Management (DM) en de individuele autorisatielogica van de voertuigapplicatie (SWS Diagnostics §7.3.3.2 “SOVD Request Validation and Verification”). Wanneer een externe SOVD-client eindpunten opvraagt voor clientverificatie of voor het ophalen van tokens, stuurt de Diagnostic Server deze verzoeken door naar de applicatie om de doel-URL's te bepalen ([SWS_DM_01471], [SWS_DM_01472]). Bij inkomende diagnoseverzoeken met een HTTP-autorisatie-header controleert de klasse de geldigheid van het token en definieert ze overgedragen toegangsrollen ([SWS_DM_01470]). De feitelijke validatie ten opzichte van een autorisatieserver (zoals OAuth 2.0) vindt vermoedelijk plaats als een applicatiespecifieke interpretatie via externe netwerkprotocollen, aangezien AUTOSAR hier het lokale applicatie-overdrachtspunt standaardiseert. Vraag Q-6ce702103e4966c7 (open)
De instantiatie van ara::diag::SovdAuthorization vindt expliciet plaats via de constructor onder opgave van een ara::core::InstanceSpecifier evenals de concurrency-modus ConcurrencyType ([SWS_DM_01489]). De InstanceSpecifier moet in het manifest verwijzen naar een geldige PortPrototype van een DiagnosticSovdAuthorizationInterface. Via de ConcurrencyType (kConcurrent of kNotConcurrent) wordt vastgelegd of de geïmplementeerde callback-methoden van de applicatie thread-safe moeten zijn ontworpen ([SWS_DM_01483], [SWS_DM_01484], [SWS_DM_01485]).
Na de constructie stuurt de Diagnostic Server verzoeken pas door wanneer de applicatie de methode Offer() succesvol heeft aangeroepen ([SWS_DM_01487]). Interpretatie: verzoeken die vóór de Offer() binnenkomen, worden door de server vermoedelijk verworpen of met een fout afgewezen. Vraag Q-84330742a61f91a7 (open) Om het doorsturen van verzoeken te beëindigen, roept de applicatie StopOffer() aan ([SWS_DM_01486]). Ten slotte wordt het object vrijgegeven via de virtuele destructor ([SWS_DM_01488]). De administratieve aanroepen SovdAuthorization, Offer, StopOffer en de destructor zijn niet thread-safe.
Gebruikspad
Tijdens normaal bedrijf treden twee essentiële interactiepaden op: het beschikbaar stellen van omleidings-URL's en de validatie van actieve sessietokens. Stuurt een SOVD-client een bevraging voor clientverificatie of voor het aanvragen van een token, dan roept het DM GetAuthorizationUrl() ([SWS_DM_01485]) resp. GetTokenUrl() ([SWS_DM_01484]) aan. De applicatie evalueert de overgedragen queryParameters evenals de metaInfo en levert de doel-URL asynchroon als ara::core::Future<ara::core::String> terug, waarna het DM antwoordt met een HTTP 307 (Temporary Redirect) ([SWS_DM_01471], [SWS_DM_01472]).
Bevat een opvolgend SOVD-verzoek een nieuwe of gewijzigde HTTP-Authorization-header, dan roept de Diagnostic Server ValidateAuthorization() aan ([SWS_DM_01470], [SWS_DM_01483]). De applicatie valideert de overgedragen token, wijst aan het gerefereerde object ara::diag::ClientAuthentication de overeenkomstige autorisatierollen toe ([SWS_DM_01469]) en levert via de Future een ValidateAuthorizationOutput terug. Belangrijke randvoorwaarde: zodra de Future gereed is, mag de applicatie het gerefereerde ClientAuthentication-object niet meer gebruiken ([SWS_DM_01483]). Het DM benut de retourwaarden (geldigheidsduur validUntil en identity) om opvolgende verzoeken van dezelfde client zonder hernieuwde controle toe te wijzen ([SWS_DM_01781], [SWS_DM_01782]), wat in het bijzonder voor SOVD-bronvergrendelingen vereist is ([SWS_DM_01783]).
Fouten worden via ara::core::Result of binnen de geretourneerde ara::core::Future afgebeeld:
Initialisatie- en modelleringsfouten: Faalt de instantiatie, dan worden schendingen gemeld, zoals InstanceSpecifierMappingIntegrityViolation (ongeldig modelelement), PortInterfaceMappingViolation (verkeerd interfacetype), ProcessMappingViolation (ontbrekende procesreferentie) of InstanceSpecifierAlreadyInUseViolation ([SWS_DM_01489]).
Vrijgavefouten bij Offer:Offer() retourneert in geval van een fout DiagOfferErrc::kAlreadyOffered indien de dienst al actief is, of DiagOfferErrc::kConfigurationMismatch indien de configuratie niet overeenkomt met de DEXT-gegevens ([SWS_DM_01487]).
Fouten bij de tokenvalidatie: Kan een token niet worden geverifieerd, dan levert ValidateAuthorization() via de future DiagSovdErrc::kInvalidAccessToken (ongeldig token) of DiagSovdErrc::kTemporarilyNotAvailable (bijv. wanneer de authenticatieserver voor online verificatie niet bereikbaar is) ([SWS_DM_01483]).
URL-bepaling: Voor GetAuthorizationUrl() en GetTokenUrl() zijn geen gestandaardiseerde foutcodes gedefinieerd ([SWS_DM_01484], [SWS_DM_01485]).
Deze handleiding is uitsluitend gebaseerd op de specificaties van AUTOSAR-release R25-11.
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.
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.
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.
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.
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.
This Offer will enable the DM to forward request messages to this handler.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 0834519262c7Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone memberfunctie Offer van de klasse ara::diag::SovdAuthorization activeert het doorsturen van verzoekberichten door Diagnostic Management (DM) naar de bijbehorende handler-instantie [SWS_DM_01487]. Zij accepteert geen parameters en retourneert een ara::core::Result<void> die de succesvolle aanroep bevestigt of een opgetreden fout meldt [SWS_DM_01487].
Wat betreft foutafhandeling specificeert [SWS_DM_01487] twee concrete foutcodes uit DiagOfferErrc met rollback-semantiek:
DiagOfferErrc::kAlreadyOffered: Treedt op wanneer de dienst voor deze instantie al wordt aangeboden [SWS_DM_01487].
DiagOfferErrc::kConfigurationMismatch: Meldt dat de configuratie niet overeenkomt met de DEXT-beschrijvingsgegevens [SWS_DM_01487].
Wat betreft de uitvoeringseigenschappen is de aanroep gedeclareerd als uitzonderingsveilig (exception safe), maar geldt deze als niet thread-safe (not thread-safe) [SWS_DM_01487]. De functie mag daarom niet gelijktijdig voor dezelfde instantie worden aangeroepen.
In het samenspel met de DM komt de functie overeen met het algemene aanbiedingspatroon van de AUTOSAR Adaptive-diagnose-interfaces, zoals dat ook wordt toegepast voor generieke routines of DoIP-diensten (bijvoorbeeld [SWS_DM_00557], [SWS_DM_00725] of [SWS_DM_00809]). Zolang een handler niet via Offer is geregistreerd, stuurt de DM verzoeken niet door naar de applicatie of bedient deze met vooraf gedefinieerde vervangende waarden [SWS_DM_01487], [SWS_DM_01525], [SWS_DM_01527].
Deze tekst is opgesteld door een AI. Alle gegevens zijn uitsluitend gebaseerd op het verstrekte specificatie-uittreksel.
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)
Parameter
Beschreibung
instanceSpecifier
InstanceSpecifier to a PortPrototype of a DiagnosticSovdAuthorizationInterface service instance in the manifest.
concurrencyType
Specifies 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.
This StopOffer will disable the forwarding of request messages from DM.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c318a30e32adHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De methode StopOffer van de klasse ara::diag::SovdAuthorization (header ara/diag/sovd_authorization.h) dient ertoe het doorsturen van binnenkomende diagnoseverzoeken vanuit Diagnostic Management (DM) naar de autorisatiedienst te verhinderen [SWS_DM_01486]. De functie heeft de signatuur void StopOffer() noexcept. Zij accepteert geen parameters en retourneert geen waarde aan de aanroeper [SWS_DM_01486].
Foutafhandeling en gelijktijdigheid
De functie is gespecificeerd als uitzonderingsveilig (exception safe) en werpt geen uitzonderingen [SWS_DM_01486]. Specifieke foutcodes evenals foutmeldingen aan DET of DEM zijn voor deze aanroep niet voorzien. Wat betreft concurrency is de methode geclassificeerd als niet thread-safe (not thread-safe) [SWS_DM_01486]. Indien meerdere threads dezelfde instantiecontext gebruiken, moet de toegang door de aanroepende applicatie worden gesynchroniseerd. Interpretatie: Een aanroep zal vooral plaatsvinden bij het ordelijk afsluiten van de applicatie of bij tijdelijk ingetrokken autorisatiebereidheid. Vraag Q-6c81f2dc7ee903ca (open)
Samenspel
Het concept volgt het algemene ontwerppatroon voor interfaces in AUTOSAR Adaptive-diagnose: De aanduiding StopOffer is gekozen naar analogie van de service-interfaces van ara::com, maar vormt een zelfstandige implementatie binnen ara::diagAUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”. Dezelfde deactiveringssemantiek bevindt zich modulebreed bij vele andere poortinterfaces, bijvoorbeeld bij GenericRoutine[SWS_DM_00558], Authentication[SWS_DM_01131], CommunicationControl[SWS_DM_00810] en Monitor[SWS_DM_01089].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR AP R25-11.
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.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 78d8310937f8Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De zuiver virtuele methode ValidateAuthorization wordt door de diagnostische server aangeroepen wanneer een verzoek van een SOVD-client een Authorization-HTTP-header bevat en het token daarvan nog niet geldig gevalideerd beschikbaar is [SWS_DM_01470]. De applicatie controleert het overgedragen autorisatietoken volgens het in het systeem geconfigureerde protocol (bijvoorbeeld OAuth 2.0 in de context van een Resource Server) en wijst de bijbehorende rollen toe aan de client [SWS_DM_01483].
token (ara::core::StringView): Het vanuit de HTTP-header verzonden toegangstoken [SWS_DM_01483].
metaInfo (const MetaInfo&): Meta-informatie van de diagnostische servicepoort [SWS_DM_01483].
clientAuthentication (ClientAuthentication&): Object waarmee de applicatie de geauthentiseerde rollen van de SOVD-client instelt [SWS_DM_01483]. Na het beschikbaar stellen van de geretourneerde Future mag de applicatie deze referentie niet meer gebruiken [SWS_DM_01483].
Retourwaarde: Een ara::core::Future<ValidateAuthorizationOutput>[SWS_DM_01483]. Bij succesvolle validatie bevat de structuur ValidateAuthorizationOutput[SWS_DM_01927] de geldigheidsijdstempel validUntil[SWS_DM_01820] evenals de client-ID identity[SWS_DM_01819].
De Diagnostic Server beschouwt toegewezen rollen voor verzoeken met een identiek token tot het bereiken van validUntil als geauthentiseerd [SWS_DM_01469] en herkent de SOVD-client aan de hand van het token of de identiteit [SWS_DM_01781][SWS_DM_01782]. Deze herkenning is onder meer vereist voor tijdelijke operaties en SOVD-vergrendelingen, aangezien niet-geauthentiseerde clients de vergrendelingstoegang met HTTP 401 wordt ontzegd [SWS_DM_01783].
In geval van een fout wordt de Future met DiagSovdErrc::kInvalidAccessToken (ongeldig token) of DiagSovdErrc::kTemporarilyNotAvailable (bijv. authenticatieserver tijdelijk niet bereikbaar) opgelost [SWS_DM_01483]. De functie is gespecificeerd als noexcept en exception-safe; of de implementatie thread-safe moet zijn, wordt gestuurd via de in de constructor doorgegeven ConcurrencyType[SWS_DM_01483].
Deze gebruiksinstructie is gegenereerd door een AI; uitsluitend de AUTOSAR-specificatie is bindend.
conditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor
Parameter (in)
Parameter
Beschreibung
token
The authorization token sent by the SOVD client in the HTTP Authorization header.
metaInfo
The meta information of a diagnostic service port.
clientAuthentication
Object 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.
rollback_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.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel