• 404-not-found
  • logto-unknown-session
  • authorization-code-flow

Miksi saatat nähdä 404-virheen kirjautuessasi Logto-yhdistettyyn sovellukseesi

Oletko koskaan kohdannut "404 Not Found" -virhettä yrittäessäsi kirjautua sisään Logtoa hyödyntävään sovellukseen? Tässä blogikirjoituksessa selitetään, miksi näin tapahtuu ja kuinka voit välttää sen.

Charles
Charles
Developer

Lopeta viikkojen tuhlaaminen käyttäjien tunnistautumiseen
Julkaise turvallisia sovelluksia nopeammin Logtolla. Integroi käyttäjien tunnistautuminen minuuteissa ja keskity ydintuotteeseesi.
Aloita
Product screenshot

Taustaa

Oletko joskus yrittänyt kirjautua sisään sovellukseen, joka käyttää Logtoa tunnistautumiseen, ja kohdannut "404 not found" -virheen? Onko loppukäyttäjistäsi raportoitu samanlaisesta ongelmasta?

Logto-istuntoa ei löytynyt 404-virhekuvakaappaus

Tämä voi tapahtua, jos menet suoraan kirjautumissivulle (esim. https://your-app.com/sign-in) kiertäen sovelluksen tarkoitetun kirjautumisprosessin.

Tässä syy:

OIDC-prosessin tärkeys

Logto käyttää OpenID Connect (OIDC) -protokollaa turvallisen tunnistautumisen varmistamiseksi. Kun kirjaudut sisään sovelluksen normaalin prosessin kautta (yleensä klikkaamalla kirjautumispainiketta sovelluksessa), sovellus aloittaa viestinnän Logton OIDC-palvelimen kanssa. Tätä viestintää kutsutaan "valtuutuspyynnöksi", ja se on tärkeä, koska ensin tehdään erilaisia tarkistuksia ja sen jälkeen luodaan turvallinen istunto selaimesi ja palvelimen välille (evästeillä hallinnoituna).

Ongelma ilmenee, kun käyttäjät siirtyvät suoraan "/sign-in" -sivulle, jolloin sovelluksen OIDC-valtuutuspyynnön laukaiseva sisäinen logiikka ohitetaan. Näin ollen palvelin ei tunnista selaintasi kelvollisen istunnon omaavaksi, mikä johtaa 404-virheeseen.

Ratkaisu

Tähän ongelmaan on kaksi pääasiallista tapaa välttää se:

Käytä aina sovelluksen kirjautumispainiketta

Suoran "/sign-in" -sivulle siirtymisen sijasta, seuraa sovelluksen tarjoamaa kirjautumisprosessia. Kun klikkaat "Kirjaudu sisään" -painiketta sovelluksen sisällä, se käynnistää oikean OIDC-valtuutuspyynnön ja muodostaa tarvittavan istunnon.

Uudelleenohjaa käyttäjät automaattisesti

Jos Logto-instanssissasi on vain yksi sovellus, voit toteuttaa logiikan, joka automaattisesti sieppaa käyttäjän yritykset mennä "/sign-in" -sivulle ilman kelvollista istuntoa ja ohjaa heidät takaisin pääsivullesi, jossa kirjautumispainike näkyy.

Tätä varten Logto on tuonut käyttöön asetuksen "Tuntemattoman istunnon uudelleenohjaus-URL". Kun määrität tämän URL-osoitteen, Logto ohjaa käyttäjät automaattisesti haluamallesi sivulle 404-virheen sijaan. Voit esimerkiksi ohjata käyttäjät sovelluksesi etusivulle tai mukautetulle kirjautumisruudulle. Uudelleenohjaamisen jälkeen asiakassovelluksesi tulisi käynnistää uusi kirjautumisprosessi.

Voit määrittää tämän menemällä Logto Consolessa kohtaan Logto Cloud > Kirjautumiskokemus > Rekisteröityminen ja kirjautuminen > Lisäasetukset ja syöttämällä varasivusi osoitteen.

Esimerkiksi Logto Cloudissa tämä on asetettu osoitteeseen https://cloud.logto.io/. Kun asetus on tehty, käyttäjät jotka saapuvat "/sign-in" -osoitteeseen ilman kelvollista istuntoa, ohjataan tuohon osoitteeseen kirjautumisen aloittamiseksi uudelleen.

Lisää ajatuksia käyttökokemuksen parantamisesta

Pyrimme parantamaan käyttökokemusta lisäämällä ainakin hyödyllisiä viestejä "/unknown-session" -sivulle, jotka selittävät syyn 404-virheeseen ja kertovat käyttäjälle miten toimia, jotta käyttäjä ei jää ymmälleen. Esimerkiksi Logtossa voi määrittää oman tukisähköpostin ja verkkosivun tietoja kirjautumisvirhesivuille. Tällöin virheen kohdannut käyttäjä näkee yhteystietosi ja voi ottaa yhteyttä saadakseen apua.

Saatamme myös harkita muiden turvallisten toimien toteuttamista ongelman lieventämiseksi, kuten automaattisen uudelleenohjauksen käyttämistä "Uloskirjautumisen uudelleenohjaus-URLiin" (yleensä sovelluksen etusivu), kun nykyisessä Logto-instanssissa on vain yksi sovellus, tai mahdollisuuden lisätä asetuksia näyttämään mukautettu viesti tällaisessa tilanteessa.

Yhteenveto

404 not found (kelvoton istunto) -virhe "/sign-in" -sivulla johtuu useimmiten siitä, että käyttäjä siirtyy suoraan kirjautumissivun URL-osoitteeseen. Tämä ohittaa normaalin kirjautumisprosessin, joka laukaisee valtuutuspyynnön — siksi kelvollista istuntoa (evästeillä hallittavaa) ei synny.

Ymmärtämällä tämän prosessin merkityksen voit välttää virheen ja nauttia sujuvasta kirjautumiskokemuksesta Logto-yhdistetyssä sovelluksessasi.

Ota rohkeasti yhteyttä, jos haluat jakaa omia ajatuksiasi.