Hola amigos, esto parece haber sido un debate bastante frecuente, pero quiero hacer una pregunta simple y diluida sobre la autentificación con servicios RESTful. El escenario es el siguiente:Servicio de autenticación de usuario RESTful
- Existe un sistema que aloja usuarios registrados para una aplicación. El sistema expone una API RESTful para acceder a estos usuarios.
- Hay una aplicación de interfaz que tiene un formulario de inicio de sesión. La aplicación puede ser interna o externa.
- La aplicación de front-end debe usar los datos en el sistema de usuario para autenticar a un usuario.
La pregunta ahora es cómo autenticar a un usuario cuyas credenciales (nombre de usuario/contraseña) se ingresan en la aplicación cliente contra los datos en el sistema de usuario de modo que sea seguro y eficaz? Por el bien de esta pregunta, supongamos que la aplicación cliente es interna a algún tipo de Intranet, pero las aplicaciones no residirán en la misma máquina y solo podrán comunicarse a través del servicio.
Entiendo la idea de que la aplicación sea "hipermedia", pero deberíamos poder proporcionar servicios de filtrado/búsqueda. Por ejemplo, considere los recursos y de la API de la siguiente manera:
- http://example.com/users
- GET - recupera todos los usuarios (paginado, hipermedia impulsada)
- Post - Crea un nuevo usuario
- PUT/no elimina soportados
- http://example.com/users/[id]
- GET - devuelve una representación completa de un usuario con id = {id}
- put - actualizaciones de usuario, toma en cualquier tipo de medio predefinido
- Eliminar - elimina el usuario (con la autorización correspondiente)
- post no soportado
base en lo anterior, mi idea sería tener la aplicación cliente de conseguir en la lista de usuario, filtrando por nombre de usuario. El servicio devolverá la contraseña y el valor saliente al cliente, el cliente realizará la autenticación.
¿Pensamientos?
¿Puede ser más específico sobre cuál es la pregunta? Estoy teniendo dificultades para entender qué tipo de comentarios quieres. –