Ethsim2
(Ethan )
1
안녕하세요,
현재 로그인 버튼 하나만 눌러야 하는 번거로움을 줄이기 위해 느린 리다이렉트를 구현하고 있습니다.
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가 이미 그렇게 처리하고 있을 가능성이 큽니다. 작동하지 않는다면 설정에 문제가 있는 것입니다 
Moin
3
음, 여기 먼저 클릭해야 하는 로그인 버튼이 보이네요:
하지만 저는 그거 때문에 번거롭다고 느낀 적이 없어요. 내가 어디에 있는지 확인도 못 한 채 입력 폼으로 이동하게 되는 것이 더 나은 경험이라고 생각하지 않거든요. 여기서는 내가 어디에 있는지 관련 정보가 더 적어요:
맞아
'home-page’를 예외 처리했었지… 다른 모든 페이지는 바로 로그인 페이지로 표시되어야 해. 설정으로 만들어야 하는 거 아님? 
@pmusaraj 홈 페이지를 예외 처리한 이유가 뭔지 기억나?
pmusaraj
(Penar Musaraj)
5
네, 로그인 필수 사이트 대부분은 해당 랜딩 스크린이 있는 것이 유리합니다. 예를 들어, 가입이 가능한 경우 가입/로그인 버튼을 배치하고, 폼을 표시하기 전에 커뮤니티에 대한 설명을 할 수 있는 공간을 마련해 두는 식입니다.
우리는 한 가지 제한적인 사용 사례에서 이 스크린을 건너뛰는 기능을 제공합니다. 바로 사이트가 외부 로그인 방법을 하나만 사용하는 경우인데, 이 설정을 통해 가능합니다:
Ethsim2
(Ethan )
6
결국 https://physicswithethan.discourse.diy에서 해당 설정이 활성화되어 있었습니다.
그래서 이 주제를 시작하기 전부터 설정을 변경한 적이 없습니다.