Här finns beskrivningen av API:et intermediationSE vilket är det API som svenska bevisproducenter implementerar, för att via Diggs förhandsgranskningstjänst, låta en användare dela bevis via det tekniska systemet för bevisutbyte (OOTS).
För frågor om API:et, hör av er till oss
flowchart LR
subgraph Digg
direction LR
FGT(Förhandsgranskningstjänsten)-->AT(SDG Auktorisationstjänst)
AT-->LT(Legitimeringstjänst)
end
subgraph Bevisproducent
FGT-->BT(Bevistjänst)
end
- Förhandsgranskningstjänsten återautentiserar andvändaren mha SDG auktorisationstjänst som i sin tur nyttjar legitimeringstjänsten Sweden Connect.
- En lyckat autentisering ger förhandsgranskningstjänsten ett åtkomstintyg (accesstoken) som skickas med till bevisproducentens bevistjänst.
- Med hjälp av åtkomstintyget auktoriserar bevisproducenten API-anropet och lämnar ett bevissvar till förhandsgranskningstjänsten där användaren avgör om beviset ska delas och föras över för vidare användning i sitt pågående förfarande.
sequenceDiagram
participant USR as User
participant PDFE as ProcedureDemoFE
participant PSFE as PreviewSpaceFE
participant PSBE as PreviewSpaceBE
participant IMSE as IntermediationSE
participant RED as Redis
box Auktorisation
participant AS as AuthorizationServer
participant ATS as AuthenticationService
end
participant EP as EvidenceProvider
USR ->> PDFE: 1. Start procedure
PDFE ->> PSFE: 2. Redirect to preview
PSFE ->> PSBE: 3. GET /authorize/login
PSBE ->> AS: 4. AuthenticationRequest, with redirect uri, to AuthorizationServer
Note over AS,ATS: 5. User authentication
AS ->> PSBE: 6. Response from AuthorizationServer to PSBE including authentication code
PSBE ->> AS: 7. IdTokenRequest(code)
AS ->> PSBE: 8. TokenResponse(idtoken, accesstoken, refreshtoken)
PSBE ->> RED: 9. Store accesstoken for reuse
PSBE ->> AS: 10. AuthorizationRequest, with redirect uri, to AuthorizationServer
Note over AS,ATS: 11. Evidence provider authorization
AS ->> PSBE: 12. Redirect from AuthorizationServer to PSBE including authorization code
PSBE ->> AS: 13. AccessTokenRequest(code)
AS ->> PSBE: 14. TokenResponse(accesstoken, refreshtoken)
PSBE ->> RED: 15. Store accesstoken for reuse
PSBE ->> PSFE: 16. Redirect from PSBE to PSFE
PSFE ->> PSBE: 17. Post /documents/available to fetch evidences
PSBE ->> AS: 18. Get user info (accesstoken)
AS ->> PSBE: 19. User info response
PSBE ->> PSBE: 20. Match evidence request against user information
PSBE ->> IMSE: 21. POST /evidence-files (accesstoken)
IMSE ->> EP: 22. GET evidence files from provider (accesstoken)
EP ->> EP: 23. Validate accesstoken
EP -->> IMSE: 24. Return documents
IMSE -->> PSBE: 26. Return documents
PSBE -->> PSFE: 27. Show documents
PSFE -->> PDFE: 28. Share documents
- Användaren besöker förfarandet och förbereder en bevisbegäran
- Användaren initierar autentisering
- Användaren väljer att logga in och initierar legitimeringsförfrågan
- PreviewSpaceBE bygger ihop och skickar ett authentication request till AuthorizationServer, samtidigt blir användaren omdirigerad till id-tjänsten
- Användaren legitimerar sig i id-tjänsten
- AuthorizationServer svarar förbestämd callback endpoint med en authentication code
- PreviewSpaceBE bygger ihop och skickar ett idtoken request till AuthorizationServer
- Authorization svarar med idtoken, accesstoken, refreshtoken.
- PreviewSpaceBE sparar ner accesstoken i redis.
- PreviewSpaceBE bygger ihop och skickar ett authorization request till AuthorizationServer
- Auktorisering av klient
- AuthorizationServer svarar förbestämd callback endpoint med en authorization code
- PreviewSpaceBE bygger ihop och skickar ett accesstoken request
- AuthorizationServer svarar med accesstoken och refreshtoken
- PreviewSpaceBE sparar ner accesstoken i redis
- Användaren blir omdirigerad tillbaka till PSFE
- Bevishämtning initieras
- PreviewSpaceBE skickar en förfrågan till AuthorizationServer för att hämta användarinformation
- AuthorizationServer svarar med användarinformation
- PreviewSpaceBE matchar information från evidence request mot användarinformationen.
- PreviewSpaceBE skickar förfrågan, som innehåller accesstoken, för bevishämtning till IntermediationSE
- IntermediationSE skickar förfrågan, som innehåller accesstoken, till bevisproducent
- Bevisproducent validerar accesstoken
- Bevisproducent returnerar IntermediationSE med bevis
- IntermediationSE returnerar bevis till PreviewSpaceBE
- PreviewSpaceBE returnerar bevis till PreviewSpaceFE som visar upp hämtade bevis för användaren.
- Användare väljer att dela bevis med förfarande