|
|
|
|
|
- Fonctionnement
- Mise en place d'une validation automatique par SMS
- Cas particuliers
SMSDétecteCodeUsageUnique (Fonction) En anglais : SMSDetectOneTimeCode Remplit automatiquement un champ de saisie avec un code à usage unique reçu par SMS.
SI SMSDétecteCodeUsageUnique(SurReceptionCodeAUsageUnique) ALORS
JAUGE_ATTENTE_CODE.Visible = Vrai
SINON
Erreur()
FIN
PROCÉDURE SurReceptionCodeAUsageUnique(sCode est une chaîne)
SAI_Code = sCode
JAUGE_ATTENTE_CODE.Visible = Faux
VerifierCode()
Syntaxe
<Résultat> = SMSDétecteCodeUsageUnique(<Procédure WLangage>)
<Résultat> : Booléen - Vrai si la détection a été démarrée,
- Faux dans le cas contraire.
<Procédure WLangage> : Nom de procédure Nom de la procédure WLangage (également appelée "callback") appelée lors de la réception du code. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Code reçu>) où <Code reçu> est une chaîne de caractères contenant le code reçu par SMS (ou une chaîne vide en cas d'erreur). En cas d'erreur, la fonction ErreurInfo permet de récupérer le message d'erreur. Remarques Fonctionnement L'appel de la fonction SMSDétecteCodeUsageUnique déclenche l'écoute pendant 5 minutes des SMS reçus sur le téléphone. Si durant ce délai un SMS contenant un code à usage unique est reçu, la procédure passée à la fonction est automatiquement exécutée avec le code reçu en paramètre et la détection est arrêtée. Le SMS contenant le code à usage unique doit respecter les critères suivants : - sa taille ne soit pas dépasser 140 octets.
- il doit contenir un code à usage unique. Ce code doit être une suite de 4 à 10 chiffres (6 caractères minimum recommandé), sans séparateurs.
- il doit se terminer par une chaîne de 11 caractères qui identifie votre application.
Exemple : Votre code d'authentification est : 123456 HQ+6aVM7NXq Remarque : La chaîne à la fin du SMS est une chaîne de hachage composée des élément suivants : - le nom du package de l'application.
- le certificat de clé publique de l'application.
Vous pouvez trouver cette chaîne dans l'assistant de génération Android lorsque la fonction SMSDétecteCodeUsageUnique est présente dans le code de l'application. Vous pouvez également générer cette chaîne avec l'outil keytool. Pour plus de détails, consultez Outil keytool. Mise en place d'une validation automatique par SMS La mise en place d'une validation automatique par SMS dans une application mobile nécessite un "backend" pour vérifier l'identité de l'utilisateur, effectuer l'envoi du SMS et contrôler le code à usage unique lorsqu'il est renvoyé au serveur pour effectuer toutes les tâches de post-validation requises. La communication entre l'application mobile et le serveur est libre. Une solution possible consiste à exposer une API REST avec deux points de terminaison : - un qui reçoit les requêtes de demande de validation avec les informations d'identification de l'utilisateur et envoie les messages par SMS au format attendu
- un qui reçoit le code à usage unique reçu par l'application pour des traitements supplémentaires.
Conseil pour la génération du code SMS à usage unique : Il est conseillé de générer une suite de 6 à 10 chiffres aléatoire et de le stocker dans une table de base de données en associant ce code à un identifiant d'utilisateur et à une date d'expiration. Cas particuliers - Si la fonction SMSDétecteCodeUsageUnique est exécutée alors qu'une détection est déjà en cours, l'appel sera ignoré et la fonction renverra Faux.
- Il est possible de récupérer le ou les numéros de téléphone de l'utilisateur courant avec la fonction telRécupèreNuméro.
- La fonction SMSDétecteCodeUsageUnique est sans effet dans le simulateur.
- La fonction SMSDétecteCodeUsageUnique doit être appelée dans le thread principal de l'application et uniquement lorsque l'application est au premier plan.
Classification Métier / UI : Code neutre Composante : wd300android.aar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|