Criar-Usuário via REST-API, não parece estar funcionando

Olá,

Criei um novo usuário usando a API REST.

Mas não consigo fazer login com as credenciais do novo usuário. Quando pesquiso na tabela de usuários, não encontro a conta do usuário.

Para solucionar o problema, executei o seguinte comando CURL.

Também tentei usar uma carga útil JSON com o comando CURL.

Eu obtenho o mesmo resultado em ambos os casos: não consigo fazer login usando as credenciais do novo usuário e o novo usuário não é encontrado na tabela de usuários.

Alguma ideia?

Obrigado

A mensagem aqui é um tanto enganosa; active:false indica que o usuário não foi criado, mas já existia.

Verifique se já não existe um usuário com o mesmo endereço de e-mail, especialmente se normalize_emails estiver ativado.

3 curtidas

Parece semelhante a User creation API: ‘active’ attribute set to True but returns False in response

4 curtidas

Percebi que há um erro na nossa documentação da API. O parâmetro active só é permitido quando uma chave de API associada a um usuário administrador é usada e tem sido o caso desde 2016.

Por enquanto, corrigi a documentação em

4 curtidas

Isso vai ajudar, sim.

Ainda não aborda o problema original da mensagem ser enganosa para os administradores.

○ → curl -X POST -H \"api-key: $API_KEY\" -H 'api-username: michael' https://try.discourse.org/users.json --json \"$(jo email=michael+test@contoso.com username=michaeltest password=$PASSWORD active=true approved=true)\"
{\"success\":true,\"active\":true,\"message\":\"Sua conta foi ativada e está pronta para uso.\"}

○ → curl -X POST -H \"api-key: $API_KEY\" -H 'api-username: michael' https://try.discourse.org/users.json --json \"$(jo email=michael+test2@contoso.com username=michaeltest2 password=$PASSWORD active=true approved=true)\"
{\"success\":true,\"active\":false,\"message\":\"Sua conta foi ativada e está pronta para uso.\"}

^ apenas um único usuário foi criado acima

Estou inferindo que muita ofuscação foi colocada no caminho /users.json para dissuadir spammers etc., mas isso parece estar dificultando as coisas para os administradores também. Eu me pergunto se deveríamos adicionar um caminho explícito de administrador para separar os dois (criação de conta normal vs. criação de conta de administrador) que permitirá que a função de administrador seja desofuscada.

1 curtida

Você está correto. Este era o problema: um usuário com o mesmo endereço de e-mail já existe.

Eu estava pesquisando por nome de usuário e por created_at em ordem decrescente, que é o motivo pelo qual o novo usuário não apareceu nos resultados da pesquisa.

A resposta bem-sucedida me confundiu.

Obrigado pela sua ajuda.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.