WordPress の SSO クライアントとして Discourse サイトを運用しています。WordPress 側にはカスタムユーザープロフィールがあります。Discourse 側の重複設定を可能な限りロックダウンしたいと考えています。PHP 開発者が、Discourse 側の名前フィールドとアバターを更新するための API 呼び出しを実装しました。また、いくつかのカスタムフィールドや複数のグループも更新されます。サンドボックス環境でアバターフィールドの更新を実現するためには、Discourse の設定でユーザーがアバターを更新できるように変更する必要がありました。本番サイトでは、名前フィールドとアバターの両方を編集可能に設定しないと、それぞれが機能しませんでした。カスタムフィールドは、管理者以外のユーザーには編集不可ですが、サンドボックスと本番サイトの両方で期待通りに更新されています。グループの更新も問題ありません。サイト設定は両方のインストールで同一ですが、この動作に影響を与えていると思われる Discourse の設定が複数あり、一時的に一方のサイトのみで設定を有効にしていた可能性があります。
そこで質問です:
- API 経由で正常に更新するには、名前とアバターをユーザーが編集可能にする必要がありますか?
- 必要だとすれば、なぜサンドボックスと本番サイトで動作に違いが出るのでしょうか?
- 必要でないのであれば、この動作は Discourse のバグでしょうか?