2012-08-14 11 views
7

META:conectarse de forma remota a Drupal módulo utilizando los servicios de 7 sitio

Quiero que mi aplicación web para poder enviar nombre de usuario y contraseña de un usuario en mi sitio de Drupal, al sitio Drupal y tener el sitio de Drupal responder con la confirmación de si la información de autenticación del usuario es correcta.

Otra necesidad es tener el servidor Drupal devuelve un identificador de sesión para una sesión creada, y la información para el usuario, como el correo electrónico, el papel de usuario, etc.

Lo que tengo hasta ahora:

He habilitado Services Rest Server y he creado un punto final en www.mysite.com/rest/. Establecí el formato de respuesta solo en json y solicité el analizador a application/x-www-form-urlencoded. He activado la autenticación por sesión, modo de depuración. También me aseguré de habilitar todo el recurso de usuario para este punto final. Navegando a www.misitio.com/rest/usuario me da una lista de todos los usuarios.

En cuanto a mis intentos con la autenticación, lo he intentado el envío de solicitudes:

POST www.mysite.com/rest/user/login 
    Content-Type: application/x-www-form-urlencoded 
    POST Body: 
     name:admin, 
     pass:myadminpassword 

Pero sólo mantiene devolver una respuesta no autorizado 401. He comprobado dos veces y la información de autenticación es correcta. He intentado otras variaciones en nombres de parámetros como: (nombre de usuario, contraseña), (usuario, pase), (nombre, contraseña), etc.

Parece que no puedo iniciar sesión para trabajar y tengo analicé otros ejemplos que encontré en Stackoverflow pero no han funcionado.

+2

No debería el cuerpo será: "nombre de usuario = admin y password = adminpass" si estás usando "x-www-form-urlencoded"? –

+1

aaaaaaa y, por supuesto, era algo tan simple. Olvidé que los parámetros POST y los parámetros GET están formateados de la misma manera. Gracias. – user594044

+0

también puede POST en json (o en cualquier otro formato admitido por el módulo de servicio). Simplemente haga clic en la casilla de verificación en la pestaña "servidor" de su configuración de recurso de servicio y complete el cuerpo de su POST con un objeto json. –

Respuesta

4

Hay una buena documentación para el módulo de servicios en drupal.org. Particularmente hay varios ejemplos para el uso de administradores aquí: http://drupal.org/node/783722

El ejemplo en esta página se utilizan herramienta de línea de comando curl: http://drupal.org/node/1795770

y contiene un ejemplo de entrada:

curl -X POST -i -H "Content-type: application/json" -c cookies.txt -X POST http://localhost:8888/service/user/login -d ' 
{ 
    "username":"user", 
    "password":"password" 
} 
' 

Así:

  • tiene su punto final ok
  • Tipo de contenido debe ser una aplicación licación/JSON
  • y el cuerpo debe ser algo como { "nombre de usuario": "admin", "contraseña": "pase"}
Cuestiones relacionadas