user_associated_account テーブルに REST API を介して行を挿入する方法はありますか?
参考までに、Discourse インスタンスでユーザーを作成し、それらを OAuth2 プロバイダーにリンクできるようにする必要があります。
ユーザーが Discourse UI からログインする場合(OAuth2 Basic プラグイン経由)、アカウントがリンクされ、GET /u/by-external/oauth2_basic/{external_uid} を使用して外部 UID から Discourse のユーザー ID を取得できます。
ただし、REST API(POST /users.json)からユーザーを作成する場合、アカウントを対応する OAuth2 アカウントにリンクする方法が見当たりません(ユーザーが手動で Discourse にログインしない限り)。
参考までに、OAuth2 basic プラグインは新しい Auth::ManagedAuthenticator システムを実装しました: https://github.com/discourse/discourse-oauth2-basic/pull/21
私が試したこと:
- API ドキュメントを確認しましたが、手がかりは見つかりませんでした。
- 1人のユーザーから関連アカウントを取得するために呼び出される API ルートを見つけました:
GET /u/{username}/emails.json。しかし、このルートは HTTPPUTメソッドをサポートしていないように見え、user_associated_accountsテーブルのフィールド(provider_name、provider_uid、user_id)を公開していません。 - また、この問題に関連する設定がないか Discourse の設定を確認しましたが、成功しませんでした。
- meta.discourse.org を確認しましたが、解決策は見つかりませんでした。
ご助力いただければ幸いです。ありがとうございます ![]()