CIBA decoupled authentication

CIBA (Client Initiated Backchannel Authentication) er et tillegg til OAuth2 og OpenID Connect og ble godkjent som spesifikasjon i 2019. Der OAuth2 og OpenID Connect i de fleste tilfeller trenger en browser for å drive flyten, tar CIBA Spesifikasjonen tar for seg autentisering av en bruker der enheten som brukes til autentisering kan være fysisk adskilt fra enheten som blir logget inn. Et eksempel på dette kan være autorisasjon av en betaling på en billettautomat. Her kan brukeren benytte sin telefon og en app fra en kjent tilbyder (f.eks en bank) til å godkjenne betalingen uten bruk av betalingskort.

I all hovedsak dreier CIBA seg om at en klient-applikasjon skal få tilgang til data fra et API på vegne av en bruker. Til det trenger den et access_token. Klient-applikasjonen kan starte en innloggingsflyt uten bruk av browser ved hjelp av et Backchannel kall. Klienten må sende med nok info om bruker til at Autorisasjons Server kan unikt identifisere brukeren. Eksempel på dette kan være telefonnummer og fødselsdato (som for BankID mobil). Autorisasjons Server finner bruker og sender et varsel til brukeren. Det er opp til systemet å implementere varselet, men dette kan være alt fra en e-mail med en innloggingslenke til et varsel i en app.

Etter endt autentisering og eventuelt brukerens samtykke får klient-applikasjonen tilgang til access_token og kan kalle et API på vegne av brukeren.

Espen demonstrerer hvordan CIBA er implementert hos en av Enso sine kunder ved hjelp av IdentityServer. IdentityServer inkluderte struktur og metoder for CIBA-implementasjon i versjon 6, som ble sluppet i årsskiftet 2021/2022.