Gérer les sessions mobiles dans 4D pour iOS

Traduit automatiquement de Deepl

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. blank

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.

blank

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.

blank

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 !

David Azancot
- 4D for iOS Product Owner -David Azancot a rejoint l'équipe de 4D Product en tant que Product Owner en 2017. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles. Son rôle consiste également à s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients.David est diplômé d'un MBA en marketing, Internet et mobilité de l'Institut Léonard De Vinci et a commencé sa carrière en 2011 au sein d'une start-up mobile, rachetée ensuite par Madvertise (groupe de marketing mobile). Passionné par les interfaces mobiles, il a été le choix naturel pour développer des formats publicitaires mobiles interactifs pour le groupe en 2015. En parallèle, David développe ses propres applications iOS et Android depuis 2012.