Front-channel- kontra back-channel-utlogging
Sammenlign strategier for front-channel- og back-channel-utlogging for effektiv avslutning av økter på tvers av ulike klienter.
Front-channel- kontra back-channel-utlogging er en gratis leksjon i OAuth2 og OpenID Connect i dybden på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i OAuth2 og OpenID Connect i dybden, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i OAuth2 og OpenID Connect i dybden inneholder totalt 4 leksjoner.
Avlogging i OIDC
Når du logger ut av en applikasjon, kan det virke enkelt. Du klikker på en knapp, og så er du logget ut. Men i systemer som bruker OpenID Connect (OIDC) eller OAuth2, er det mer komplisert.
En bruker har ofte en økt hos identitetsleverandøren (IdP) og potensielt i flere klientapplikasjoner. En fullstendig avlogging betyr at alle disse relaterte øktene avsluttes.
Utfordringen med single logout
Single Logout (SLO) har som mål å logge en bruker ut av alle tilkoblede applikasjoner når brukeren starter avlogging fra bare én av dem. Det høres bra ut, ikke sant?
Utfordringen er å sørge for at alle klienter, potensielt på tvers av ulike domener, pålitelig mottar og håndterer avloggingsforespørselen fra identitetsleverandøren (IdP). Dette er ikke alltid enkelt.
Grunnleggende om front-channel logout
Front-Channel Logout er en nettleserbasert metode. Når en bruker logger ut, bruker IdP-en brukerens nettleser til å kommunisere med hver klientapplikasjon.
Se for deg at IdP-en sier til nettleseren: «Hei, be disse andre appene om å logge ut også!» Nettleseren sender deretter forespørsler til klientenes avloggingsendepunkter.
Slik fungerer front-channel logout
Slik fungerer Front-Channel Logout vanligvis:
- Brukeren starter avlogging (for eksempel ved å klikke på «Logg ut»).
- IdP-en mottar avloggingsforespørselen.
- IdP-en omdirigerer brukerens nettleser til en egen avloggingsside hos IdP-en.
- Denne siden inneholder skjulte
<iframe>-elementer, der hvert element peker til en registrert avloggings-URI for en klient. - Nettleseren laster inn disse iframe-ene, slik at hver klient tømmer den lokale økten sin.
Front-channel: fordeler og ulemper
Front-Channel Logout er enkelt, men har noen begrensninger:
- Fordeler:
- Relativt enkelt for IdP-en å implementere.
- Fungerer godt for klienter som bare bruker nettleseren.
- Ulemper:
- Mindre pålitelig: Kan blokkeres av nettleserinnstillinger (for eksempel tredjepartsinformasjonskapsler eller popup-blokkering).
- Avhenger av at brukerens nettleser er aktiv.
- Fungerer ikke for klienter som ikke bruker nettleser (for eksempel mobilapper og backend-tjenester).
Introduksjon til back-channel logout
Back-Channel Logout bruker en annen og mer robust metode. I stedet for å være avhengig av brukerens nettleser kommuniserer identitetsleverandøren (IdP) direkte med backend-serveren til hver klient.
Dette er en server-til-server-interaksjon, noe som gjør metoden mer pålitelig og egnet for et bredere utvalg klienttyper, særlig klienter med økter på serversiden.
Slik fungerer back-channel logout
Dette er den typiske sekvensen for Back-Channel Logout:
- Brukeren starter avlogging.
- IdP-en mottar avloggingsforespørselen og ugyldiggjør sin egen økt.
- IdP-en sender deretter en HTTP POST-forespørsel til hver registrerte klients back-channel logout URI.
- Denne POST-forespørselen inneholder et signert Logout Token (en JWT).
- Serveren til hver klient validerer Logout Token og avslutter brukerens lokale økt.
Back-channel: fordeler og ulemper
Back-Channel Logout er mer pålitelig, men krever mer oppsett:
- Fordeler:
- Svært pålitelig: Avhenger ikke av nettlesertilstand eller brukerinteraksjon.
- Fungerer for alle klienttyper (web, mobil og backend-tjenester).
- Ideelt for klienter som opprettholder brukerøkter på serversiden.
- Ulemper:
- Krever at klientene eksponerer et eget avloggingsendepunkt.
- Mer komplisert å implementere på en sikker måte (for eksempel validering av Logout Tokens).
- Mulighet for nettverksproblemer mellom IdP-en og klientserverne.
Velg avloggingsstrategi
Når du velger mellom front-channel- og back-channel-avlogging, bør du ta hensyn til klienttypene og kravene til pålitelighet:
- For enkle klienter som bare bruker nettleseren, og der det er akseptabelt at avlogging av og til mislykkes, kan Front-Channel være tilstrekkelig.
- For robuste applikasjoner, særlig de med økter på serversiden, mobilapper eller API-er, er Back-Channel vanligvis det foretrukne og sikreste valget.
- Mange moderne systemer foretrekker back-channel på grunn av påliteligheten.
Hurtigsjekk: avloggingsflyter
La oss teste forståelsen din av egenskapene til front-channel- og back-channel-avlogging.
Oppsummering: effektiv avlogging
I denne leksjonen utforsket vi det viktige temaet single logout i OIDC- og OAuth2-systemer. Vi lærte om to hovedstrategier:
- Front-Channel Logout: Nettleserbasert, enklere, men mindre pålitelig.
- Back-Channel Logout: Server-til-server, mer robust og ideelt for ulike klienttyper og økter på serversiden.
Hvis du forstår disse flytene, blir det enklere å utforme sikre og brukervennlige autentiseringssystemer der økter avsluttes riktig på tvers av alle tilkoblede tjenester.
Lær deg OAuth2 og OpenID Connect i dybden med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Front-channel- kontra back-channel-utlogging» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien OAuth2 og OpenID Connect i dybden, inkludert «Front-channel- kontra back-channel-utlogging», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i OAuth2 og OpenID Connect i dybden inneholder totalt 4 leksjoner.
Hva lærer jeg i «Front-channel- kontra back-channel-utlogging»?
Sammenlign strategier for front-channel- og back-channel-utlogging for effektiv avslutning av økter på tvers av ulike klienter. Du øver på OAuth2 og OpenID Connect i dybden med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med OAuth2 og OpenID Connect i dybden?
Ingen tidligere erfaring er nødvendig. OAuth2 og OpenID Connect i dybden på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Front-channel- kontra back-channel-utlogging»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne OAuth2 og OpenID Connect i dybden-leksjonen?
Ja. Alle OAuth2 og OpenID Connect i dybden-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Samtykke og brukeropplevelse
- Cross-Origin Resource Sharing (CORS)
- Front-channel- kontra back-channel-utlogging
- Avsenderbegrensede tokener med mTLS