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

Waarom je mogelijk een 404 ziet bij het inloggen op je Logto-geïntegreerde app

Heb je ooit een "404 Niet Gevonden" foutmelding gekregen toen je probeerde in te loggen op een app die Logto gebruikt? In deze blogpost leggen we uit waarom dit gebeurt en wat je kunt doen om het te voorkomen.

Charles
Charles
Developer

Stop met weken verspillen aan gebruikersauthenticatie
Lanceer veilige apps sneller met Logto. Integreer gebruikersauthenticatie in minuten en focus op je kernproduct.
Aan de slag
Product screenshot

Achtergrond

Heb je ooit geprobeerd in te loggen op een app die Logto gebruikt voor authenticatie en kreeg je een "404 niet gevonden" foutmelding? Hebben je eindgebruikers hetzelfde probleem gemeld?

Logto sessie niet gevonden 404 foutmelding screenshot

Dit kan gebeuren wanneer je direct de inlogpagina benadert (bijvoorbeeld https://jouw-app.com/sign-in) zonder de bedoelde inlogflow van je applicatie te volgen.

Dit is waarom:

Het belang van de OIDC-flow

Logto vertrouwt op het OpenID Connect (OIDC) protocol voor veilige authenticatie. Wanneer je inlogt via de normale applicatieflow (meestal door op een inlogknop in je app te klikken), start de applicatie een communicatie met Logto's OIDC-server. Deze communicatie, de "autorisatieaanvraag" genoemd, is belangrijk omdat er eerst verschillende validaties plaatsvinden tegen de aanvrager, en vervolgens een beveiligde sessie wordt opgezet tussen je browser en de server (beheerd via cookies).

Het probleem ontstaat wanneer gebruikers direct naar de "/sign-in" pagina gaan, waardoor de interne logica van de applicatie die de OIDC-autorisatieaanvraag start, wordt overgeslagen. Hierdoor herkent de server je browser niet als een geldige sessie, wat vervolgens leidt tot een 404-foutmelding.

De oplossing

Er zijn twee belangrijke manieren om dit probleem te voorkomen:

Gebruik altijd de inlogknop van de app

In plaats van direct naar de "/sign-in" pagina te gaan, volg je de bedoelde loginflow die door de applicatie wordt aangeboden. Wanneer je op de "Inloggen"-knop klikt binnen de app, wordt de juiste OIDC-autorisatieaanvraag gestart en de benodigde sessie aangemaakt.

Gebruikers automatisch doorsturen

Als je maar één applicatie in je Logto-omgeving hebt, kun je proberen logica te implementeren die automatisch pogingen van gebruikers om de "/sign-in" pagina te bezoeken zonder geldige sessie onderschept, en ze terugstuurt naar je hoofdpagina waar een inlogknop wordt weergegeven.

Om dit te vergemakkelijken, heeft Logto een instelling geïntroduceerd genaamd "Onbekende sessie doorstuur-URL". Wanneer je deze URL instelt, stuurt Logto gebruikers automatisch door naar de opgegeven pagina in plaats van de 404-fout te tonen. Je kunt ze bijvoorbeeld doorsturen naar de homepage van je app of een aangepast inlogscherm. Na het doorsturen moet je client-applicatie vervolgens een nieuwe inlogflow starten.

Hiervoor ga je naar de Logto Console bij Logto Cloud > Sign-in experience > Sign-up and sign-in > Advanced options en voer je je fallback-URL in.

Bijvoorbeeld, Logto Cloud stelt dit in op https://cloud.logto.io/. Zodra dit is ingesteld, worden gebruikers die /sign-in bezoeken zonder een geldige sessie automatisch naar die URL gestuurd om de authenticatie opnieuw te starten.

Extra ideeën ter verbetering van de gebruikerservaring

We proberen de gebruikerservaring te verbeteren door op zijn minst duidelijke meldingen toe te voegen op de "/unknown-session" pagina. Zo leggen we uit waarom er een 404-foutmelding verschijnt en vertellen we gebruikers wat ze kunnen doen in plaats van ze verward of hulpeloos achter te laten. Bijvoorbeeld, Logto ondersteunt het instellen van een aangepast support e-mailadres en website op foutpagina's voor het inloggen. Gebruikers die een foutmelding krijgen, zien dan jouw contactgegevens en kunnen contact opnemen voor hulp.

Daarnaast overwegen we andere veilige maatregelen, zoals automatisch doorsturen naar de "Sign-out redirect URI" (meestal de hoofdpagina van de applicatie) wanneer er maar één applicatie is in de huidige Logto-omgeving, of het toevoegen van extra configuratie om een aangepaste melding weer te geven in dergelijke gevallen.

Conclusie

De 404 niet gevonden (ongeldige sessie) fout op de "/sign-in" pagina wordt meestal veroorzaakt door het direct openen van de URL van de inlogpagina. Hierdoor wordt de normale inlogflow van de applicatie, die de autorisatieaanvraag start, overgeslagen en wordt er dus geen geldige sessie (beheerd via cookies) opgezet.

Door dit proces en het belang ervan te begrijpen, kun je deze fout vermijden en genieten van een soepele inlogervaring met je Logto-geïntegreerde app.

Neem gerust contact met ons op als je je ideeën wilt delen.