Oracle MCS como proveedor de autenticación en Oracle MAF
04/04/2016 -
Oracle Mobile Application Framework (MAF) no sólo nos proporciona un desarrollo rápido y funcional, sino que nos ofrece una autenticación robusta y en un marco de autorización.
MAF nos permite autenticarnos contra varios tipos de autenticación, en este caso nos centraremos en HTTP Basic y nos apoyaremos en Oracle Mobile Cloud Service (MCS) como servidor de autenticación.
Oracle Mobile Cloud Service:
Creación de un dominio y un rol
Accedemos a nuestra consola de Mobile Cloud Service.
Dentro del menú podremos ver todas las opciones que nos permite MCS, en nuestro caso seleccionamos la opción de “Aplicaciones” -> “Gestión de usuarios móviles”.
En la pantalla de gestión de usuario móviles, se pueden gestionar los dominios, roles o los usuarios que usaran MCS, en nuestro caso crearemos un nuevo dominio y posteriormente asignaremos ese dominio a nuestro MBE.
Además crearemos un rol que usaremos en próximas entradas para referirnos a seguridad a nivel de API para cada endpoint.
Creación del usuario de la aplicación
Seguidamente nos vamos a la sección de “Usuarios”, poniendo cierto interés en el correo electrónico que debe ser un correo electrónico real, y es donde recibiremos mediante un email la contraseña de acceso; además debemos indicar los Roles que tendrá este usuario en este caso indicamos “role_app”.
Ejemplo de correo electrónico recibido.
Creación de un Mobile Backend (MBE)
Resumiendo un MBE es el compañero del servidor de su aplicación móvil. Proporciona acceso seguro a servicios como el almacenamiento, las notificaciones, la gestión de usuarios y las API personalizadas.
Aplicación MAF:
Creación de una pantalla HTML en la aplicación
Para poder realizar esta demo generaremos una nueva aplicación mobile, que contendrá una feature que dará la bienvenida al usuario.
Además activaremos MAF Authentication controlando el acceso a la feature.
Ejemplo de página HTML generada para este ejemplo.
Configuración de la autenticación en MAF
Para configurar la seguridad de MAF, debemos ir dentro de Maf-Application.xml y nos movemos a la pestaña de seguridad.
Conexión de la pantalla de login:
Tipo de autenticación: En nuestro caso seleccionamos HTTP Basic que ha sido la que hemos configurado en MCS.
Modo de conectividad:
- Remota: Siempre que haga login el usuario se lanzará una petición de autenticación.
- Local: Solo realizará una autenticación contra el servidor, y guardará la información en un almacenamiento seguro, y comprobará directamente contra el y no al servidor.
- Híbrida: Es una mezcla de los dos anteriores, si tiene conexión a internet preguntará al servidor, y si estuviera sin conexión anteriormente se hubiera conectado haría la autenticación contra el sistema interno.
En la siguiente TAB indicaremos la URL donde la aplicación deberá autenticarse, en MCS la URL se compone de: [URL_BASE]+” /mobile/platform/users/login”.
Además le tenemos que añadir una cabecera http extra que será la del “Oracle-Mobile-Backend-ID”.