Nomenklatur
RP → Relying Party, Anslutande tjänst
AT → Autentiseringstjänsten
Klient → Mobil klientapplikation alternativt en Windowsapplikation.
Subject → Används som begrepp för användare som autentiserar/signerar
Övergripande information
WebAuthn
Flöde Autentisering
- Anslutande tjänst (RP) startar flödet med AT genom att skicka en förfrågan till "auth" med information om bland annat subject och autentiseringsförfrågans organisationstillhörighet.
- AT svarar på förfrågan till "auth" genom att skicka tillbaka en "orderRef" (referens till utfärdad autentiseringsförfrågan) samt en "autoStartToken".
- RP kollar (förslagsvis kontinuerligt m.h.a pollning) mot "collect" hos AT för att se om AT fått autentiseringen legitimerad av subject. Till "collect" skickas tidigare mottagna "orderRef" som är kopplad till en autentiseringsförfrågan.
- AT svarar på förfrågan till "collect" genom att skicka tillbaka en status och tillhörande data om huruvida kopplad autentiseringsförfrågan blivit legitimerad, om den blivit legitimerad är autentiseringsflödet nu avklarat.
- alternativt kan subject välja att avbryta ("cancel") en legitimering och då avslutas autentiseringsflödet och detta meddelas som svar på "collect".
Autentiseringstjänstens API
Autentiseringstjänstens API är indelat i tre delar som täcker funktionalitet för att:
- En RP ska kunna skapa och konsumera både autentiseringsförfrågningar och signeringsförfrågningar
- En klient ska kunna kontrollera om pågående begäran finns samt kunna slutföra alternativt avbryta eventuell begäran.
- Det ska gå att registrera och aktivera certifikat.
Relying party API
Informationen listad nedan är komplement till den mer kompletta API-dokumentationen som går att nå via länkarna redovisade under rubrik 2.2 Swaggerdokumentation.
auth
/api/v1/rp/auth är en POST-endpoint som tar in json som body i följande format:
organizationName | |
personalIdentifier | |
rfc2253Issuers | |
checkRevocation | |
enhancedAtuhentication |
Vid svar med kod 200 skickas följande jsonstruktur med:
orderRef | |
autoStartToken |
cancel
/api/v1/rp/cancel är en POST-endpoint som tar in json som body i följande format:
orderRef |
Vid svar med kod 200 skickas följande jsonstruktur med:
message |
collect
/api/v1/rp/collect är en POST-endpoint som tar in json som body i följande format:
{ "orderRef": "string" }
orderRef |
Vid svar med kod 200 skickas följande jsonstruktur med:
{ "status": "string", "hintCode": "string", "completionData": { "userCertificate": "string", "certStatus": { "verified": true, "oscpResponse": "string" } } }
status | |
hintCode | |
completionData |
sign
/api/v1/rp/sign är en POST-endpoint som tar in json som body i följande format:
organizationName | |
personalIdentifier | |
rfc2253Issuers | |
checkRevocation | |
enhancedAuthentication | |
signMessage |
Vid svar med kod 200 skickas följande jsonstruktur med:
orderRef | |
autoStartToken |
Swaggerdokumentation
Testmiljön
https://as.systemtest.ineradev.org/openapi/swagger-ui/index.html?url=/v3/api-docs