一般公開コミュニティで自動ログインを有効にしましたか?

「返信」をクリックするとログインフローがトリガーされるというのは全くその通りです。また、DiscourseConnect(または他のシングルログインプロバイダー)が使用されている場合、Discourseのログインモーダルはスキップされます :+1:

しかし、OPは、ユーザーが返信や「ログイン」をクリックする必要なく、自動的にログインされるようにしたいのだと思います。そのような設定であれば、ユーザーはメインサイトとコミュニティ間をシームレスに移動できます。私たちは数社のお客様のためにこれを実現しましたが、これらは簡単に一般化できないカスタム実装でした。

アプローチの1つを例として挙げます。フォーラムがforum.example.comにあり、メインサイトがexample.comにある場合、フォーラムはexample.comからのCookieを読み取ることができます。そのため、テーマコンポーネントはCookieの存在を確認し、次のようなことを行うことができます。

const cookie = require("discourse/lib/cookie").default;
if(cookie('name_of_example_com_auth_cookie') && !api.getCurrentUser()){
  // ユーザーはexample.comの認証Cookieを持っています。ほぼ確実に
  // そこでログインしているので、認証フローを実行しましょう
  window.location = "https://forum.example.com/auth/oidc"
}

(ここではさまざまな条件が適用されます。例:Cookieはhttp_onlyであってはならず、host-only Cookieであってはなりませんなど)

「いいね!」 5