Cliente Android para servicio web REST con seguridad básica
Tengo que escribir un simple servicio web RESTful utilizando la autenticación básica. Yo uso consejos de esta página secureRestWS . También han creado un video y publicado en youtube con más detalles. Funciona muy bien cuando se abre en el navegador. Debe escribir Nombre de usuario y Contraseña en la ventana de autorización.
También he encontrado una página con el cliente androide que llaman servicio web de descanso utilizando httpclient y si el servicio web es sin autenticación funciona. Estoy utilizando este ejemplo androidRestWSClient . Pero no sé cómo agregar nombre de usuario y contraseña en este escenario, he intentado como:
- Android: ¿Es una buena idea almacenar Token de autenticación en las preferencias compartidas?
- Error: NullPointerAccess: La variable "" sólo puede ser null en esta ubicación
- Asegurar la comunicación desde Android a un servicio web
- ¿Cómo conectar el teléfono de android a un servicio de la tela funcionado en el servidor local?
- Creación de servicio web para aplicaciones de Android
client.AddParam("User Name", "myusername"); client.AddParam("Password", "mypassword");
O en encabezado:
client.AddHeader("User Name", "myusername"); client.AddHeader("Password", "mypassword");
Pero nada funciona. También intento crear url que diga el nombre de usuario y la contraseña del servicio web como:
http://192.168.1.42/RestWS/resources/helloWorld?username=myusername&password=mypassword
Realmente no tengo una solución para esto, así que si alguien tiene un cliente de ejemplo, lo agradecería.
En webservice tengo método GET simple
@GET @Path("/text") public String getText() { return "Hello World!"; }
¿Necesito usar SecurityContext para el nombre de usuario y la contraseña? ¿Es mejor crear autenticación manualmente como en este ejemplo:
http://aruld.info/accessing-restful-services-configured-with-ssl-using-resttemplate/
Gracias por tu ayuda
- Creación de un WebService ASP.net que devuelve JSON en lugar de XML
- ¿Qué authTokenType significa exactamente?
- ¿Hay alguna forma sólida de hacer frente a la autenticación integrada de Windows (NTLM) desde una aplicación de Android?
- Cómo enviar una cadena json a un servicio .NET REST de java?
- Recomendaciones para el formato / protocolo de .NET Web Service para Android, iPhone, etc.
- Bloquear usuarios no Android que llaman al servicio JSON
- APP de Android que consume un servicio web cómo autenticar usuarios
- Autenticación de Facebook para el servicio JSON con la aplicación Android
Si está utilizando la autenticación HTTP básica, la URL debería tener el siguiente aspecto:
http://username:[email protected]/RestWS/resources/helloWorld
Bueno, aquí tienes – y no te olvides de Upvote y marcar como contestado si esto funciona :):
HttpGet httpget; try{ httpget = new HttpGet(url); String auth =new String(Base64.encode(( username + ":" + password).getBytes(),Base64.URL_SAFE|Base64.NO_WRAP)); httpget.addHeader("Authorization", "Basic " + auth); }