OAuth2 ja OpenID Connect perusteellisesti · Oppitunti

Front-channel- ja back-channel-uloskirjautuminen

Vertailkaa front-channel- ja back-channel-uloskirjautumisstrategioita, jotta istunnot voidaan päättää tehokkaasti eri clienteissa.

Oppitunti 3/411 vaihetta

Front-channel- ja back-channel-uloskirjautuminen on ilmainen OAuth2 ja OpenID Connect perusteellisesti-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu OAuth2 ja OpenID Connect perusteellisesti-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. OAuth2 ja OpenID Connect perusteellisesti-kurssilla on yhteensä 4 oppituntia.

Uloskirjautuminen OIDC:ssä

Kun kirjaudutte ulos sovelluksesta, se saattaa vaikuttaa yksinkertaiselta. Napsautatte painiketta ja olette ulkona. OpenID Connectia (OIDC) tai OAuth2:ta käyttävissä järjestelmissä asia on kuitenkin monimutkaisempi.

Käyttäjällä on usein istunto Identity Provider (IdP) -palvelussa ja mahdollisesti useissa asiakassovelluksissa. Todellinen uloskirjautuminen tarkoittaa kaikkien näiden toisiinsa liittyvien istuntojen päättämistä.

Yhden uloskirjautumisen haaste

Single Logout (SLO) pyrkii kirjaamaan käyttäjän ulos kaikista yhdistetyistä sovelluksista, kun käyttäjä aloittaa uloskirjautumisen vain yhdestä niistä. Kuulostaa hyvältä, eikö totta?

Haasteena on varmistaa, että kaikki asiakkaat, mahdollisesti eri verkkotunnuksissa, vastaanottavat Identity Provider (IdP) -palvelun lähettämän uloskirjautumispyynnön luotettavasti ja toimivat sen mukaisesti. Tämä ei aina ole yksinkertaista.

Front-Channel Logoutin perusteet

Front-Channel Logout on selaimeen perustuva toimintatapa. Kun käyttäjä kirjautuu ulos, IdP käyttää käyttäjän selainta viestiäkseen kunkin asiakassovelluksen kanssa.

Ajatelkaa sitä näin: IdP kertoo selaimelle: "Hei, käske myös nämä muut sovellukset kirjautumaan ulos!" Selain lähettää sitten pyyntöjä asiakkaiden uloskirjautumispäätepisteisiin.

Miten Front-Channel Logout toimii

Front-Channel Logout toimii yleensä seuraavasti:

  • Käyttäjä aloittaa uloskirjautumisen (esimerkiksi napsauttaa "Kirjaudu ulos").
  • IdP vastaanottaa uloskirjautumispyynnön.
  • IdP ohjaa käyttäjän selaimen erityiselle IdP:n uloskirjautumissivulle.
  • Sivu sisältää piilotettuja <iframe>-elementtejä, joista kukin osoittaa rekisteröidyn asiakkaan uloskirjautumis-URI:in.
  • Selain lataa nämä iframe-kehykset, jolloin kukin asiakas tyhjentää paikallisen istuntonsa.

Front-Channel: hyvät ja huonot puolet

Front-Channel Logout on yksinkertainen, mutta siihen liittyy rajoituksia:

  • Hyvät puolet:
  • IdP:n on suhteellisen helppo toteuttaa se.
  • Se toimii hyvin täysin selainpohjaisilla asiakkailla.
  • Huonot puolet:
  • Se on epäluotettavampi: selaimen asetukset, kuten kolmannen osapuolen evästeiden estäminen tai ponnahdusikkunoiden esto, voivat estää sen.
  • Se edellyttää, että käyttäjän selain on aktiivinen.
  • Se ei toimi selainpohjaisille asiakkaille, kuten mobiilisovelluksille tai taustapalveluille.

Back-Channel Logoutin esittely

Back-Channel Logout käyttää erilaista ja vankempaa toimintatapaa. Käyttäjän selaimeen tukeutumisen sijaan Identity Provider (IdP) viestii suoraan kunkin asiakkaan taustapalvelimen kanssa.

Tämä on palvelinten välistä viestintää, joten se on luotettavampaa ja sopii useammille asiakastyypeille, erityisesti palvelinpuolen istuntoja käyttäville asiakkaille.

Miten Back-Channel Logout toimii

Back-Channel Logoutin tyypillinen tapahtumaketju on seuraava:

  • Käyttäjä aloittaa uloskirjautumisen.
  • IdP vastaanottaa uloskirjautumispyynnön ja mitätöi oman istuntonsa.
  • IdP lähettää sitten HTTP POST -pyynnön kunkin rekisteröidyn asiakkaan back-channel logout URI:in.
  • Tämä POST-pyyntö sisältää allekirjoitetun Logout Token -tunnuksen (JWT:n).
  • Kunkin asiakkaan palvelin vahvistaa Logout Token -tunnuksen ja päättää käyttäjän paikallisen istunnon.

Back-Channel: hyvät ja huonot puolet

Back-Channel Logout on luotettavampi, mutta sen käyttöönotto vaatii enemmän valmistelua:

  • Hyvät puolet:
  • Erittäin luotettava: se ei riipu selaimen tilasta tai käyttäjän toimista.
  • Se toimii kaikilla asiakastyypeillä (web, mobiili ja taustapalvelut).
  • Se sopii erinomaisesti asiakkaille, jotka ylläpitävät käyttäjien istuntoja palvelimella.
  • Huonot puolet:
  • Asiakkaiden on tarjottava erillinen uloskirjautumispäätepiste.
  • Sen turvallinen toteuttaminen on monimutkaisempaa (esimerkiksi Logout Token -tunnusten vahvistaminen).
  • IdP:n ja asiakkaiden palvelinten välillä voi ilmetä verkko-ongelmia.

Uloskirjautumisstrategian valinta

Kun valitsette front-channel- ja back-channel-uloskirjautumisen välillä, huomioikaa asiakastyypit ja luotettavuusvaatimukset:

  • Yksinkertaisille, täysin selainpohjaisille asiakkaille, joissa satunnaiset uloskirjautumisen epäonnistumiset ovat hyväksyttäviä, Front-Channel voi riittää.
  • Vankkoihin sovelluksiin, erityisesti palvelinpuolen istuntoja, mobiilisovelluksia tai API-rajapintoja käyttäviin, Back-Channel on yleensä suositeltavampi ja turvallisempi vaihtoehto.
  • Monissa nykyaikaisissa järjestelmissä suositaan back-channel-menetelmää sen luotettavuuden vuoksi.

Pikatarkistus: uloskirjautumisvirrat

Testataan ymmärrystänne front-channel- ja back-channel-uloskirjautumisen ominaisuuksista.

Kertaus: tehokas uloskirjautuminen

Tässä oppitunnissa käsittelimme OIDC- ja OAuth2-järjestelmien yhden uloskirjautumisen tärkeää aihetta. Tutustuimme kahteen päästrategiaan:

  • Front-Channel Logout: Selainpohjainen ja yksinkertaisempi, mutta epäluotettavampi.
  • Back-Channel Logout: Palvelinten välinen, vankempi ja ihanteellinen erilaisille asiakastyypeille sekä palvelinpuolen istunnoille.

Näiden virtojen ymmärtäminen auttaa suunnittelemaan turvallisia ja käyttäjäystävällisiä todennusjärjestelmiä, joissa istunnot päätetään asianmukaisesti kaikissa yhdistetyissä palveluissa.

Aloita maksutta

Opi OAuth2 ja OpenID Connect perusteellisesti tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Front-channel- ja back-channel-uloskirjautuminen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa OAuth2 ja OpenID Connect perusteellisesti-oppimispolun 3 oppituntia, myös oppitunnin “Front-channel- ja back-channel-uloskirjautuminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. OAuth2 ja OpenID Connect perusteellisesti-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Front-channel- ja back-channel-uloskirjautuminen”?

Vertailkaa front-channel- ja back-channel-uloskirjautumisstrategioita, jotta istunnot voidaan päättää tehokkaasti eri clienteissa. Harjoittelet OAuth2 ja OpenID Connect perusteellisesti-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni OAuth2 ja OpenID Connect perusteellisesti-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin OAuth2 ja OpenID Connect perusteellisesti-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Front-channel- ja back-channel-uloskirjautuminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä OAuth2 ja OpenID Connect perusteellisesti-oppitunnilla?

Kyllä. Jokainen OAuth2 ja OpenID Connect perusteellisesti-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Suostumus ja käyttäjäkokemus
  2. Cross-Origin Resource Sharing (CORS)
  3. Front-channel- ja back-channel-uloskirjautuminen
  4. Lähettäjään sidotut tunnisteet mTLS:llä
← Takaisin: OAuth2 ja OpenID Connect perusteellisesti