Hay dos opciones para esto:
- Puro: cree un cliente de JavaScript en forma de una aplicación de página única. La aplicación interactúa directamente con la API.
- Predeterminado … con redirección: si elige la primera opción, suponiendo que está utilizando OAuth para su API, su aplicación web necesitará implementar el flujo implícito de OAuth. El inconveniente de esto es que el cliente, cuando se autentica en la API, realizará una redirección.
- Solo para aplicaciones oficiales: si no desea redirigir a sus usuarios, puede modificar el flujo de credenciales de usuario. ¿Cuál es el objetivo de este truco? asegúrese de que el token de actualización no esté expuesto al cliente. En este caso, se autentica en la API a través de su servidor y almacena el token de actualización cifrado en una cookie. El cliente utiliza el token de acceso para enviar solicitudes a la API. Cuando el token de acceso muere, le pide al servidor de aplicaciones que lo actualice. En este caso, el servidor de aplicaciones está representando o suplantando el servidor de autorización.
- Mixto: crea una aplicación web con páginas renderizadas en el servidor. La aplicación interactúa con la API a través del servidor. Nuevamente tienes dos opciones más:
- Forma fácil. implementar API y la aplicación del servidor como una sola aplicación. Compartirán sesión y podrá autenticarse como en cualquier otra aplicación. Si desea abrir su API a otros clientes, no tome este acceso directo
- La otra forma: en el punto 1.2 vimos cómo una aplicación web oficial puede suplantar a la API de autorización para evitar redireccionamientos. En este caso, está implementando la aplicación web en un contexto separado de su API. Pero el lado del servidor de la aplicación enviará todas las solicitudes a la API.
Mis elecciones son:
- Utilice 2.1 para prototipo, demostración.
- Use 1.2 para la aplicación web oficial
- Use 1.1 en otros casos
Luego seleccione sus tecnologías preferidas para implementar, mi voto es para AngularJS.
- ¿Cuáles son algunos ejemplos de sitios web de "inicio instantáneo"?
- Muchos de mis proyectos que son aplicaciones basadas en la web usan SiteMinder para seguridad y autenticación. Desde la perspectiva de un laico, ¿qué es SiteMinder?
- ¿Cuáles son los VPS asequibles con Cpanel?
- ¿Qué tipo de aplicaciones (web o windows) se pueden automatizar utilizando herramientas RPA?
- ¿Es realmente tan fácil de aprender la codificación suficiente para poder crear algo realmente constructivo y original (léase: no solo otra aplicación tonta de Android)?
EDITAR
Perdón por el formato. ¡Algo salió mal con las listas numeradas!