Отключить начальную страницу, перенаправляющую на /login

Здравствуйте,

я в настоящее время реализую плавное перенаправление, чтобы избежать необходимости нажимать единственную кнопку «Войти» на начальной странице

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

это исключает пути, с которых я не хочу перенаправлять трафик.


Это не идеально, но в настоящее время используется на https://physicswithethan.discourse.diy

Я почти уверен, что Discourse уже делает это за вас. Если это не работает, значит, что-то не так с вашей настройкой :thinking:

Хм, я вижу кнопку входа, которую нужно сначала нажать здесь:

Но меня это никогда не раздражало. Я не думаю, что переход к форме ввода без понимания, где вы находитесь, был бы лучшим опытом. Здесь меньше информации о том, где вы находитесь:

Правильно :man_facepalming: Я забыл, что мы сделали исключение для «главной страницы»… Все остальные страницы должны сразу показывать страницу входа. Возможно, это должно быть настройкой :thinking:

@pmusaraj, помнишь, почему мы сделали исключение для главной страницы?

Да, большинству сайтов, требующих входа, полезно иметь такой экран приветствия. Например, если регистрация доступна, там будут кнопки «Зарегистрироваться» / «Войти». Также там есть место для описания сообщества перед отображением формы.

Мы предлагаем возможность пропустить этот экран только в одном узком случае: когда на сайте используется только один внешний метод входа, через эту настройку:

оказалось, что эта настройка была включена на https://physicswithethan.discourse.diy

поэтому я не менял никаких настроек с момента создания этой темы