このバグは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のメンバーにします。