Crear usuario mediante REST-API, no parece estar funcionando

Hola,

Creé un nuevo usuario usando la API REST.

Pero no puedo iniciar sesión con las credenciales del nuevo usuario. Cuando busco en la tabla de usuarios, no encuentro la cuenta del usuario.

Para solucionar el problema, ejecuté el siguiente comando CURL.

También intenté usar una carga útil JSON con el comando CURL.

Obtengo el mismo resultado ambas veces: no puedo iniciar sesión usando las credenciales del nuevo usuario y el nuevo usuario no se encuentra en la tabla de usuarios.

¿Alguna idea?

Gracias

El mensaje aquí es algo engañoso; active:false indica que el usuario no fue creado, sino que ya existía.

Verifica que no exista ya un usuario con la misma dirección de correo electrónico, especialmente si normalize_emails está habilitado.

3 Me gusta

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

4 Me gusta

Me di cuenta de que hay un error en la documentación de nuestra API. El parámetro active solo está permitido cuando se utiliza una clave de API asociada a un usuario administrador y ha sido el caso desde 2016.

Por ahora, he corregido la documentación en

4 Me gusta

Esto ayudará, sí.

Aún no aborda el problema original de que el mensaje sea engañoso para los 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\":\"Your account is activated and ready to use.\"}

○ → 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\":\"Your account is activated and ready to use.\"}

^ solo se creó un usuario en el ejemplo anterior

Estoy infiriendo que se puso mucha ofuscación en la ruta /users.json para disuadir a los spammers, etc., pero esto también está dificultando las cosas para los administradores. Me pregunto si deberíamos agregar una ruta de administrador explícita para separar las dos (creación de cuentas normales vs. creación de cuentas de administrador) que permitirá que la función de administrador no esté ofuscada.

1 me gusta

Tienes razón. Este era el problema: ya existe un usuario con la misma dirección de correo electrónico.

Estaba buscando por nombre de usuario y por fecha de creación descendente, que es la razón por la que el nuevo usuario no aparecía en los resultados de la búsqueda.

La respuesta exitosa me despistó.

Gracias por tu ayuda.

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