4D for iOS intègre plusieurs fonctionnalités et concepts qui vous permettront de vous lancer facilement dans la création de votre première application mobile. En plus du tutoriel étape par étape, nous vous fournirons des conseils sous forme de billets de blog pour accélérer le processus d’apprentissage. Dans ce billet, nous allons explorer un concept important de 4D pour iOS : la gestion des sessions mobiles.
Gestion des sessions mobiles
La gestion des sessions mobiles vous permet de garder la trace des utilisateurs après leur toute première demande. En bref, cela permet d’identifier chaque utilisateur et d’autoriser ou de bloquer son accès aux données de votre application en changeant le statut de sa demande d’utilisateur en acceptée ou en attente.
Si vous êtes un développeur 4D, les sessions peuvent être d’une grande aide pour sécuriser les données de votre serveur, car elles vous permettent d’authentifier l’utilisateur qui accède à votre serveur 4D via une application mobile.
Un autre cas d’utilisation : Si vous êtes un administrateur de serveur, vous pouvez utiliser la gestion des sessions pour définir les utilisateurs autorisés à se connecter à votre serveur 4D, afin de limiter l’accès aux seules personnes disposant d’une autorisation d’accès.
Gestion des sessions dans 4D pour iOS
Dans 4D pour iOS, vous serez en mesure d’identifier qui tente d’accéder aux données de votre application en temps réel via un fichier JSON Mobile User. Il fournit des informations structurées telles que l’adresse électronique d’un utilisateur, l’identifiant de l’application et l’identifiant de l’appareil pour chaque application :
{ "application":{ "id":"com.contactApp.Contact", "name":"Contact", "version":"1.0.0" }, "team":{ "id":"DAVAZDX8W5" }, "language":{ "id":"en_US", "code":"en", "region":"US" }, "email":"david@4D.com", "device":{ "description":"iPhone X", "version":"11.3", "id":"0DC5132E-1EF4-407C-A832-5FE33D818AF3", "simulator":true }, "send":"link", "session":{ "id":"7023d9205074199d1c16fc00d24354e778137675", "ip":"::ffff:192.168.5.4" }, "status":"accepted", "token":"eyJhcHBOYW1lSUQiOiJjb20uY29udGFjdEFwcC5Db250YWN0IiwiaWQiOiI3MDIzZDkyMDUwNzQxOTlkMWMxNmZjMDBkMjQzNTRlNzc4MTM3Njc1IiwidGVhbUlEIjoiVVRUN1ZEWDhXNSJ9" }
Lorsqu’un utilisateur lance votre application pour la première fois, un fichier Mobile User est créé et stocké à côté du fichier 4DD actuel dans le dossier MobileApps. Ce dossier contient tous vos fichiers Mobile User, organisés et regroupés par dossier d’application.
Pour gérer l’accès de vos utilisateurs, vous pouvez modifier manuellement le statut de chaque fichier d’utilisateur mobile ou mieux encore : créer votre propre interface !
Méthode d’authentification
La méthode d’authentification de la base de données On Mobile App sera appelée pour accorder ou bloquer l’accès de manière programmatique lorsqu’un utilisateur a un statut en attente et tente d’accéder au serveur – par exemple, pour recharger des données. Vous pouvez créer et modifier cette méthode d’authentification directement à partir de l’éditeur de projet dans la section Publication.
Lorsque vous cliquez sur le bouton Créer..., un modèle est créé et prêt à être utilisé :
C_OBJECT($0;$response)
C_OBJECT($1;$request)
$request :=$1 // Informations provided by mobile application
$response :=New object // Informations returned to mobile application
// Check user email
If $request .email=Null)
// No email means Guest mode - Allow connection
$response .success:=True
Else
// Authenticated mode - Allow or not the connection according to email or other device property
$response .success:=True
End if
// Optional message to display on mobile App.
If ($response.success)
$response.statusText:="Vous êtes authentifié avec succès"
Else
$response .statusText:="Désolé, vous n'êtes pas autorisé à utiliser cette application".
End if
$0:=$response
Lorsque l’option « Connexion requise » est cochée, un formulaire de connexion s’affiche au lancement de l’application. Vous pouvez également choisir de ne pas cocher l’option « Connexion requise » pour que votre application soit utilisée en mode « invité ».
Comme les applications 4D pour iOS sont installées avec des données intégrées, les utilisateurs invités pourront voir les données initiales. Dans ce cas, vous pouvez uniquement autoriser ou bloquer l’accès pour le rechargement des données dans votre application 4D pour iOS.
Concentrons-nous sur l’expérience utilisateur de 4D for iOS pour les statuts accepté et en attente.
Statut accepté
Lorsque la connexion est requise avec un statut accepté:
- L’utilisateur saisit son email
- Une notification s’affiche pour l’informer qu’il a été authentifié.
- Il peut recharger des données à partir de l’écran des paramètres.
Statut en attente
Lorsque la connexion est requise avec un statut en attente:
- L’utilisateur saisit son adresse électronique
- Une notification s’affiche pour l’informer qu’il n’est pas autorisé à utiliser l’application.
- Si un utilisateur est déjà connecté et que son statut est modifié en attente, il ne peut pas recharger les données et il est redirigé vers le formulaire de connexion.
Afin de vous faciliter la vie, nous travaillons à l’élaboration d’un composant prêt à l’emploi qui vous aidera à gérer les sessions mobiles. Restez à l’écoute !