OAuth2 og OpenID Connect i dybden · leksjon

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.

Leksjon 3 av 411 trinn

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.

Gratis å komme i gang

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

  1. Samtykke og brukeropplevelse
  2. Cross-Origin Resource Sharing (CORS)
  3. Front-channel- kontra back-channel-utlogging
  4. Avsenderbegrensede tokener med mTLS
← Tilbake til OAuth2 og OpenID Connect i dybden