SSOのexternal_idを使用してAPIを呼び出して投稿に返信することは可能ですか。これにより、毎回external_idでユーザー名を特定する必要がなくなりますか。
いいえ、それは不可能です。
しかし、「毎回」特定する必要はありません。呼び出し側でキャッシュするように決定することもできます。
もしAユーザーがDiscourseで名前を変更し、ちょうどその時にBユーザーも名前を変更してAの以前の名前になった場合、Aの名前をキャッシュから取得すると、Aユーザーの返信がBユーザーに紐づけられてしまう可能性はありますか?
はい、それは少し理論的に聞こえますが、確かに可能です。ユーザーIDに対して認証できる方が良いでしょう。
user.updated にウェブフックを設定して、そのユーザーのキャッシュをフラッシュしてください!
はい、それはかなり良い解決策になるでしょう。ありがとうございます。
しかし、ネットワークの変動によりwebhookがパケットを失い、キャッシュが更新されない可能性はまだありますか?
TTLキャッシュでいくらか解決できますが、TTLキャッシュが無効になる前にまだ問題が発生する可能性があります。
結局のところ、最も安全なのはexternal_idを介して正確なユーザー名を取得することです。
もちろん、これらはすべて私の個人的な理論上の推測です。