Desativar a página inicial que redireciona para /login

Olá,

Atualmente, estou implementando um redirecionamento lento para evitar a necessidade de clicar no único botão de “Login” na 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";
    }
  });
});

Isso exclui os caminhos dos quais não quero que o tráfego seja redirecionado.


Isso não é ideal, mas está atualmente em uso em https://physicswithethan.discourse.diy

Tenho quase certeza de que o Discourse já está fazendo isso por você. Se não estiver funcionando, então algo está errado na sua configuração :thinking:

Hmm, vejo que há um botão de login que você precisa clicar primeiro aqui:

Mas eu nunca me incomodei com isso. Não acho que ser levado a um formulário de entrada sem saber onde está seria uma experiência melhor. Há menos informações sobre onde você está aqui:

Certo :man_facepalming: Esqueci que tratamos a “home-page” como caso especial… Todas as outras páginas deveriam mostrar imediatamente a página de login. Talvez isso devesse ser uma configuração :thinking:

@pmusaraj, você se lembra por que tratamos a home page como caso especial?

Sim, a maioria dos sites que exigem login se beneficia de ter essa tela de aterrissagem. Por exemplo, eles terão botões de cadastro / login se os cadastros estiverem disponíveis. E um espaço para descrever a comunidade antes de mostrar o formulário.

Oferecemos a opção de pular essa tela em um caso de uso específico: quando o site possui apenas um método de login externo, por meio desta configuração:

Acontece que essa configuração estava ativada em https://physicswithethan.discourse.diy

então não alterei nenhuma configuração desde antes de criar este tópico