Autenticando un usuario con WP-API V2 en Postman

9 mar 2016, 21:10:26
Vistas: 15K
Votos: 2

Estoy usando Postman para probar mi proyecto y la wp-api. Más específicamente, solicitudes POST donde un usuario debe estar autenticado para realizar alguna acción. Esto es lo que estoy usando para crear un usuario:

{{url}}/projectname/wp-json/wp/v2/users/?username=nuevonombre&email=ben@scientifik.com&password=contrasenaaquí

Sin embargo, al probar algo que requiere autenticación, como crear un usuario, obtengo un error 401:

{
  "code": "rest_cannot_create_user",
  "message": "Lo siento, no tienes permiso para crear este recurso.",
  "data": {
    "status": 401
  }
}

Autenticación mediante Nonce: Si revisas el enlace anterior, la documentación explica cómo configurar el encabezado y enviar el nonce. Podría configurar el encabezado como X-WP-Nonce, pero ¿cómo obtendría el nonce para enviarlo en Postman?

Autenticación mediante cookies: He instalado el interceptor de Postman para capturar cookies y estoy viendo 5 de ellas, pero aún obtengo el error 401 con el método anterior.

Cualquier idea u orientación sería muy útil para la comunidad.

5
Comentarios

Quizás la pregunta es qué exactamente estás probando. Los nonces y las cookies implican el front end y ¿por qué querrías exponer cualquier API de "escritura" al front end? Por cierto, no estoy familiarizado en absoluto con la API, pero el nonce probablemente debería acompañar a las cookies, no ser un reemplazo de ellas, a menos que una de las cookies sirva como nonce.

Mark Kaplun Mark Kaplun
9 mar 2016 21:54:39

Si no estás en el sitio, algunas solicitudes, como crear/actualizar contenido u obtener contenido privado, requieren autenticación a través de OAuth. Las cookies con nonces solo se pueden usar para autenticación dentro del sitio.

cybmeta cybmeta
9 mar 2016 22:06:06

@cybmeta entonces estás diciendo que es imposible usar Postman y la WP-API para hacer solicitudes POST debido a los nonces. ¿Correcto?

Ben Racicot Ben Racicot
10 mar 2016 17:04:07

Necesitas enviar una cookie de autenticación válida y un nonce válido. Pero las cookies solo son válidas dentro del mismo dominio. No sé si puedes omitir ese requisito usando Postman. La forma de autenticarse entre dominios es el método OAuth, que estoy seguro de que puedes usar con Postman. Si deseas usar Postman solo para probar durante el desarrollo, también puedes usar Autorización Básica. Todo esto está explicado, en otras palabras, en el enlace que compartiste en la pregunta: http://v2.wp-api.org/guide/authentication/

cybmeta cybmeta
10 mar 2016 21:20:46

En realidad está explicado bastante mal en la documentación. La documentación para este proyecto siempre ha ido por detrás del desarrollo. :/

MTT MTT
13 may 2016 20:07:28
Todas las respuestas a la pregunta 2
0

Postman comparte cookies con Chrome. Si estás iniciado sesión en tu sitio, podrías ver resultados inesperados.

REF: https://wordpress.org/support/topic/wp-api-cant-create-a-post/

3 dic 2016 09:50:44
1

Postman no necesita un nonce para crear contenido con la versión beta 12 de v2... solo usa el plugin WP-API Basic Auth. El único encabezado necesario es el de autenticación.

Ingresa la descripción de la imagen aquí

17 may 2016 00:52:15
Comentarios

Esto está bien, pero irrelevante para cualquier desarrollo de front end, especialmente en sitios sin HTTPS. Simplemente no vas a enviar tu contraseña en texto claro, y el nonce es obligatorio para usuarios logueados.

Mark Kaplun Mark Kaplun
5 mar 2018 05:34:11