Para acceder a Atlas App Services y usar Atlas Device Sync con el SDK de Flutter de Realm, primero debe autenticar a un usuario con un proveedor de autenticación de App Services.
Para obtener más información sobre cómo configurar la autenticación de App Services, consulte Autenticación de servicios de aplicaciones en la documentación de Atlas App Services.
Create and Delete Users
Para todos los proveedores de autenticación que no sean de correo electrónico y contraseña, App Services registra automáticamente al usuario la primera vez que se autentica. Al usar el proveedor de autenticación de correo electrónico y contraseña, debe registrar al usuario manualmente. Si un usuario se autentica mediante más de un método, puede vincular estas identidades a un único objeto de usuario.
También puedes borrar usuarios. Borrar un usuario remueve los metadatos adjuntos al usuario de Servicios de aplicación, pero no borra los datos ingresados por el usuario del backend.
Tip
Apple Account Deletion Requirements
Apple exige que las aplicaciones que se enumeran a través de su App StoreDebe dar a cualquier usuario que cree una cuenta la opción de eliminarla. Tanto si utiliza un método de autenticación que requiere el registro manual de un usuario, como la autenticación por correo electrónico y contraseña, como uno que crea un usuario automáticamente, como Iniciar sesión con Apple, debe implementar la eliminación de cuentas de usuario antes del de junio 30 2022del.
Conectar y desconectar usuarios
Use one or more authentication providers to log users in and out of your client app. You can:
Permitir que los usuarios inicien sesión con una cuenta social existente, como Apple, Facebook o Google.
Crea nuevas cuentas de usuario con la gestión de correo electrónico/contraseña de Servicios de aplicación, o con tu propia función personalizada o la gestión personalizada de usuarios JWT.
Enable anonymous users to let users access your App Services App without persisting user data.
When you have a logged-in user, you can:
Open a synced realm with the user's configuration object
Run a backend function as the logged-in user
Cambiar el usuario activo en una aplicación multiusuario
Remover un usuario del dispositivo
En un inicio de sesión exitoso, el Flutter SDK almacena en caché las credenciales en el dispositivo. Puedes omitir el flujo de inicio de sesión y acceder al usuario almacenado en caché. Utiliza esto para abrir un realm o llamar a una Atlas Function en aperturas posteriores de la aplicación.
Objeto de usuario
App Services manages sessions with access tokens and refresh tokens. Client SDKs supply the logic to manage tokens and provide them with requests.
Realm uses refresh tokens to automatically update a user's access token when it expires. However, Realm does not automatically refresh the refresh token. When the refresh token expires, the SDK can no longer get an updated access token and the device cannot sync until the user logs in again.
Para obtener más información sobre la gestión de sesiones de usuario y tokens, consulta Sesiones de usuario en la documentación de Servicios de aplicación.
Algunos proveedores de autenticación permiten a los desarrolladores acceder a metadatos de usuario, como el nombre completo o la dirección de correo electrónico. Al configurar estos campos de metadatos en la aplicación de App Services, podrá leerlos desde su aplicación cliente.
To learn more about the user object that App Services provides the Flutter SDK, refer to the following documentation:
Objetos de usuario en la documentación de App Services.
Metadatos de usuario en la documentación del SDK de Flutter.
User in Flutter SDK reference documentation.
Escuchar cambios del usuario
Puede escuchar y reaccionar ante los cambios en una instancia de usuario. Por ejemplo, recibir notificaciones cuando cambia el estado de un usuario o se actualiza su token de acceso.
Para obtener más información, consulte Registrar un detector de cambios de instancia de usuario.
Custom User Data
Puede asociar datos personalizados a un usuario, como su idioma preferido o zona horaria local, y leerlos desde su aplicación cliente. Para obtener más información sobre cómo trabajar con datos de usuario personalizados, consulte Datos de usuario personalizados.