RGJ
(Richard - Communiteq)
1
以下の現象が発生しています:
一部のユーザーが、ログインするたびに TL2 のウェルカム通知(「信頼レベルが引き上げられました」)を受け取っています。
この現象は、以下の条件が揃った場合に発生します:
- Discourse が SSO クライアントとして設定された SSO ログインが有効になっている
- WP-Discourse で「ユーザーデータの同期」が有効になっており、WordPress にログインするたびに
sync_sso 呼び出しが行われる
sync_sso が、ユーザーの現在の信頼レベルよりも低い grant_trust_level を持つグループを設定している
これにより、ユーザーの信頼レベルが 根本から再計算 され、ウェルカムメッセージが毎回送信されてしまいます。
「いいね!」 6
nat
(Natalie T)
9
こんにちは、
このバグを共有していただきありがとうございます!このバグを再現しようとしましたが、ローカルでは再現できませんでした。以下は私のセットアップです。
(WordPress)
- WordPressユーザー「Steaky」をメールアドレス steaky@cat.com で設定
wpdc_custom_sso_params を追加して、$params['groups'] = 'cats'; でサインインするすべてのユーザーに cats グループを設定
(Discourse)
- ユーザー「Steaky」をメールアドレス steaky@cat.com で作成
- Steaky を正当な方法で
trust_level_3 に設定(ロックされていない)
- グループ「cats」を作成し、「cats」の「メンバーに自動的に付与される信頼レベル」を 2 に設定
WordPress と Discourse は接続済み
ユーザーデータの同期も 
(Discourse)
- Steaky でログインすると、WordPress にリダイレクトされ、サインインすると Discourse にリダイレクトバックされる
- (「cats」が Steaky に設定されていることを確認)
- Steaky はウェルカムメッセージを表示しない
^ 上記を SiteSetting.discourse_connect_overrides_groups で繰り返しても、結果は同じです。
より詳細なセットアップを行っていると思われます。影響を受けているユーザーのセットアップについて、さらに詳しい情報を共有していただけると幸いです。
- 他にオンになっている「Discourse Connect」サイト設定はありますか?
- 影響を受けているユーザーは、特定の信頼レベルを付与するグループに別途参加していますか?
- 影響を受けているユーザーの信頼レベルはロックされていますか?どのようなグループに属していますか?
- その他役立つ情報があれば
ありがとうございます!
「いいね!」 4
RGJ
(Richard - Communiteq)
10
このバグは1年以上前のものですが、その間にクライアントはDiscourseから離れてしまったため、これ以上完全に再現することはできません。しかし、私は常に詳細なメモを取っているので、当時のSSOペイロードの記録さえ持っています。ただし、他の設定を検査したり、その正確なインスタンスで再現を試みたりすることはできません。
メモに戻ります。何が起こったのかは、あなたがやっていることとは少し異なっていました。SSOは空のgroupsフィールド(単にgroups=)を渡していました。しかし、問題のユーザーは、SSOプロバイダーが知らない別のグループのメンバーであり、そのグループがメンバーにTL2を強制していました。
さらに、私の記憶が正しければ、TL2とTL3のウェルカムメッセージは異なる動作をするため、これを再現しようとする場合は、TL3の代わりにTL2を使用する必要があるかもしれません。
したがって、再現するには、次のことを行う必要があると思います。(2番目のグループを導入したことに注意してください)
(WordPress)
- WordPressユーザー「Steaky」をメールアドレス steaky@cat.com で設定します。
$params['groups'] = 'dogs'; でサインインするすべてのユーザーに dogs グループを設定するように wpdc_custom_sso_params を追加します。
(Discourse)
- メールアドレス steaky@cat.com でユーザー「Steaky」を作成します。
- Steakyを正当に(ロックせずに)
trust_level_1にします。
- 「cats」と「dogs」というグループを作成し、「cats」の「メンバーに自動的に付与される信頼レベル」を2に設定します。
- Steakyをグループ
cats のメンバーにします。
「いいね!」 2
RGJ
(Richard - Communiteq)
11
この問題について、さらに調査していただけましたでしょうか?
「いいね!」 1
nat
(Natalie T)
12
前回の返信以降、そのバグの調査は中断していますが、お送りいただいた内容を拝見し、大変参考になりました。素晴らしいログを記録されていることに感銘を受けました。まだ対応中の案件ですので、近いうちに戻ります。ご確認いただきありがとうございます。
「いいね!」 3