Desactivar la página inicial que redirige a /login

Hola,

Actualmente estoy implementando una redirección lenta para evitar la necesidad de presionar el único botón de Inicio de sesión en la página inicial.

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";
    }
  });
});

Esto excluye las rutas desde las cuales no quiero que se redirija el tráfico.


Esto no es ideal, pero actualmente está en uso en https://physicswithethan.discourse.diy

Estoy bastante seguro de que Discourse ya lo está haciendo por ti. Si no funciona, entonces hay algo mal en tu configuración :thinking:

Hmm, veo un botón de inicio de sesión que necesitas hacer clic primero aquí:

Pero nunca me ha molestado eso. No creo que llevarte a un formulario de entrada sin ver dónde estás sería una mejor experiencia. Aquí hay menos información sobre dónde te encuentras:

Correcto :man_facepalming: Olvidé que tratamos como caso especial la “página de inicio”… Todas las demás páginas deberían mostrar inmediatamente la página de inicio de sesión. Quizás debería ser una configuración :thinking:

@pmusaraj, ¿recuerdas por qué tratamos como caso especial la página de inicio?

Sí, la mayoría de los sitios que requieren inicio de sesión se benefician de tener esa pantalla de bienvenida. Por ejemplo, incluirán botones de registro/inicio de sesión si el registro está disponible, así como un espacio para describir la comunidad antes de mostrar el formulario.

Ofrecemos la opción de omitir esta pantalla en un caso de uso muy específico: cuando el sitio tiene un único método de inicio de sesión externo, mediante esta configuración:

resulta que esa configuración estaba habilitada en https://physicswithethan.discourse.diy

así que no he cambiado ninguna configuración desde antes de iniciar este tema