Existe alguma maneira de inserir uma linha na tabela user_associated_account a partir da REST API?
Para dar um pouco de contexto, preciso ser capaz de criar usuários na nossa instância do Discourse e vinculá-los ao nosso provedor OAuth2.
Quando os usuários fazem login na interface do Discourse (através do plugin OAuth2 Basic), a conta deles é vinculada e posso obter o ID do usuário do Discourse a partir do UID externo deles usando GET /u/by-external/oauth2_basic/{external_uid}.
No entanto, quando criamos usuários via REST API (POST /users.json), não vejo nenhuma maneira de vincular a conta deles à conta OAuth2 correspondente (caso não façam login manualmente no Discourse).
FYI, o plugin OAuth2 basic implementou o novo sistema Auth::ManagedAuthenticator: Move to ManagedAuthenticator by angusmcleod · Pull Request #21 · discourse/discourse-oauth2-basic · GitHub
O que tentei:
- Pesquisei na documentação da API e não encontrei nenhuma pista.
- Descobri qual rota da API é chamada para obter as contas associadas de um usuário:
GET /u/{username}/emails.json. Mas essa rota não parece suportar o método HTTPPUTe não expõe os campos da tabelauser_associated_accounts(provider_name,provider_uideuser_id). - Também verifiquei as configurações do Discourse para ver se havia algo relacionado a esse problema, sem sucesso.
- Procurei no meta.discourse.org e não encontrei uma solução.
Qualquer ajuda é muito apreciada! Obrigado ![]()