Désactiver la page initiale qui redirige vers /login

Bonjour,

Je mets actuellement en place une redirection lente afin d’éviter d’avoir à cliquer sur le seul bouton de connexion de la page initiale.

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer("1.0", (api) => {
  api.onPageChange((url) => {
    const user = api.getCurrentUser();

    let path = url?.startsWith("http") ? new URL(url).pathname : url;
    path = path?.replace(/\/+$/, "") || "/";

    const allowedAnonPaths = ["/login", "/privacy", "/tos", "/pub/about-this-forum", "/safe-mode", "/pub/accessibility-statement"];

    if (!user && !allowedAnonPaths.includes(path)) {
      window.location.href = "/login";
    }
  });
});

Cela exclut les chemins depuis lesquels je ne souhaite pas que le trafic soit redirigé.


Ce n’est pas idéal, mais cela est actuellement utilisé sur https://physicswithethan.discourse.diy

Je suis presque certain que Discourse le fait déjà pour vous. Si cela ne fonctionne pas, alors il y a un problème avec votre configuration :thinking:

Hmm, je vois un bouton de connexion que vous devez d’abord cliquer ici :

Mais cela ne m’a jamais dérangé. Je ne pense pas qu’être redirigé vers un formulaire de saisie sans savoir où l’on se trouve serait une meilleure expérience. Il y a moins d’informations sur votre emplacement ici :

C’est vrai :man_facepalming: J’ai oublié qu’on avait géré le cas particulier de la « page d’accueil »… Toutes les autres pages devraient immédiatement afficher la page de connexion à la place. Peut-être que ça devrait être un paramètre :thinking:

@pmusaraj, te souviens-tu pourquoi on avait géré le cas particulier de la page d’accueil ?

Oui, la plupart des sites nécessitant une connexion bénéficient de l’affichage de cet écran d’accueil. Par exemple, ils peuvent proposer des boutons d’inscription ou de connexion si l’inscription est disponible, ainsi qu’un espace pour décrire la communauté avant d’afficher le formulaire.

Nous proposons toutefois de sauter cet écran dans un cas très précis : lorsque le site ne dispose que d’une seule méthode de connexion externe, via ce paramètre :

Il s’avère que ce paramètre était activé sur https://physicswithethan.discourse.diy

Je n’ai donc modifié aucun paramètre depuis avant de lancer ce sujet.