Pourquoi vous pourriez voir une erreur 404 lors de la connexion à votre application intégrée à Logto
Avez-vous déjà rencontré une erreur "404 Not Found" lorsque vous avez essayé de vous connecter à une application intégrée à Logto ? Cet article de blog explique pourquoi cela arrive et ce que vous pouvez faire pour l'éviter.
Contexte
Avez-vous déjà essayé de vous connecter à une application qui utilise Logto pour l'authentification et rencontré une erreur "404 not found" ? Certains de vos utilisateurs finaux ont-ils signalé le même problème ?

Cela peut arriver lorsque vous accédez directement à la page de connexion (par exemple, https://your-app.com/sign-in
) sans passer par le flux de connexion prévu par votre application.
Voici pourquoi :
L'importance du flux OIDC
Logto s'appuie sur le protocole OpenID Connect (OIDC) pour une authentification sécurisée. Lorsque vous vous connectez via le flux d'application normal (par exemple, en cliquant sur un bouton de connexion dans votre application), l'application initie une communication avec le serveur OIDC de Logto. Cette communication, appelée "demande d'autorisation", est importante car elle effectue d'abord diverses validations sur l'appelant, puis établit une session sécurisée entre votre navigateur et le serveur (gérée par les cookies).
Le problème survient lorsque les utilisateurs naviguent directement vers la page "/sign-in", car cela contourne la logique interne de l'application qui déclenche la demande d'autorisation OIDC. En conséquence, le serveur ne reconnaît pas votre navigateur comme ayant une session valide, ce qui conduit alors à l'erreur 404.
La solution
Il y a deux principales façons d'éviter ce problème :
Utilisez toujours le bouton de connexion de l'application
Au lieu d'accéder directement à la page "/sign-in", suivez le flux de connexion prévu par l'application. Lorsque vous cliquez sur le bouton "Se connecter" dans l'application, cela lance la bonne demande d'autorisation OIDC et établit la session nécessaire.
Rediriger automatiquement les utilisateurs
Si vous n'avez qu'une seule application dans votre instance Logto, vous pouvez essayer d'implémenter une logique pour intercepter automatiquement les tentatives d'accès à la page "/sign-in" sans session valide et les rediriger vers votre page principale où un bouton de connexion est affiché.
Pour gérer cela, Logto a introduit un paramètre « URL de redirection de session inconnue ». Quand vous définissez cette URL, Logto redirigera automatiquement les utilisateurs vers la page spécifiée au lieu d'afficher l'erreur 404. Par exemple, vous pouvez les rediriger vers la page d'accueil de votre application ou un écran de connexion personnalisé. Après la redirection, votre application cliente doit initier un nouveau flux de connexion.
Pour configurer cela, rendez-vous dans la Console Logto sous Logto Cloud > Expérience de connexion > Inscription et connexion > Options avancées et saisissez votre URL de secours.
Par exemple, Logto Cloud définit ceci sur https://cloud.logto.io/
. Une fois paramétré, les utilisateurs qui accèdent à /sign-in
sans session valide seront redirigés vers cette URL pour relancer l'authentification.
Réflexions supplémentaires pour améliorer l'expérience utilisateur
Nous essayons d'améliorer l'expérience utilisateur, au moins en ajoutant des messages utiles sur la page "/unknown-session", expliquant la raison du 404 et indiquant aux utilisateurs quoi faire au lieu de les laisser perplexes. Par exemple, Logto prend en charge un e-mail et une adresse de site d'assistance personnalisés pour les pages d'erreur de connexion. Les utilisateurs rencontrant une erreur verront alors vos coordonnées et pourront demander de l'aide.
Nous pourrions également envisager d'autres mesures de sécurité pour atténuer le problème, comme rediriger automatiquement vers l'« URI de redirection de déconnexion » (généralement la page principale de l'application) lorsqu'une seule application est détectée pour l'instance Logto actuelle, ou ajouter une configuration supplémentaire pour afficher un message personnalisé dans de tels cas.
Conclusion
L'erreur 404 not found (session invalide) sur la page "/sign-in" est généralement causée par un accès direct à l'URL de connexion, ce qui contourne le flux de connexion normal de l'application qui déclenche la demande d'autorisation, et donc aucune session valide (gérée par les cookies) n'est établie.
En comprenant ce flux et son importance, vous pouvez éviter l'erreur et bénéficier d'une expérience de connexion fluide avec votre application intégrée à Logto.
N'hésitez pas à nous contacter si vous souhaitez partager vos idées.