Cómo crear un usuario seguro Inicie sesión en el servidor en la aplicación de Android

Para los procesos de inicio de sesión, debe implementar la autenticación de Android con la clase Android Manager. Para sincronizar datos con el servidor, la autenticación de Android es importante.

Los pasos que realizaremos para hacer esto:

  1. Creación de nuestro autenticador: el cerebro detrás de esta operación
  2. Creación de las actividades: en ellas, el usuario ingresará sus credenciales
  3. Creación del servicio: a través de él podemos comunicarnos con el autenticador

Inicio de sesión por primera vez

  • La aplicación le pide al AccountManager un token de autenticación.
  • El AccountManager le pregunta al AccountAuthenticator relevante si tiene un token para nosotros.
  • Como no tiene ninguno (no hay un usuario conectado), nos muestra una AccountAuthenticatorActivity que permitirá al usuario iniciar sesión.
  • El usuario inicia sesión y el token de autenticación se devuelve desde el servidor.
  • El token de autenticación se almacena para uso futuro en el AccountManager.
  • La aplicación obtiene el token de autenticación que solicitó
  • ¡Todos felices!

Necesitarás:

  1. Una forma de conectarse a la API REST.
  2. Almacene el token que se devuelve de la solicitud de inicio de sesión.

Para conectarse a la API REST, puede usar Retrofit. Es un cliente HTTP de tipo seguro para Android y Java. Puede crear fácilmente una interfaz Java para representar su API HTTP utilizando Retrofit. Por ejemplo:

interfaz pública ApiService {

@POST (“api / authenticate”)
Llame al inicio de sesión de (
@Body LoginRequest loginRequest
);

}

Lea sobre Retrofit para aprender cómo configurar esto.

Después de la solicitud de inicio de sesión, supongo que la API le dará un token que puede usar para realizar solicitudes autorizadas más tarde a la API. Puede guardar ese token usando SharedPreferences.

¿Es seguro usar SharedPreferences para almacenar el token? Yo diría que sí, léalo aquí Seguridad de Android SharedPreference. Si eso no es suficiente para usted, puede usar este contenedor para SharedPreferences: sveinungkb / encrypted-userprefs.