Skip to Content
BibliothequesDartAuthentification OTP 🔐

Authentification OTP par SMS

L’authentification OTP (One-Time Password) permet de vérifier l’identité d’un utilisateur via un code unique envoyé par SMS. Notre SDK Dart offre deux méthodes simples pour envoyer et vérifier les codes OTP.

Fonctionnalités

  • Envoi de codes OTP personnalisables (longueur, mode)
  • Vérification automatique des codes
  • Support des modes numérique, alphabétique et alphanumérique
  • Personnalisation du nom d’expéditeur et de l’application

Utilisation

Après avoir initialisé votre SDK, vous pouvez utiliser la propriété otp pour gérer l’authentification par SMS.

Envoi d’un code OTP

lib/services/auth_service.dart
import 'package:mon_sms_pro/mon_sms_pro.dart'; Future<void> sendOtp() async { try { // Envoi du code OTP au numéro de téléphone final res = await sms.otp.get( phoneNumber: '0701020304', length: 6, mode: 'NUMERIC', appName: 'MonApp', ); if (res.success) { final token = res.data?.token; print('OTP envoyé, token: $token'); } else { print('Erreur: ${res.error}'); } } catch (error) { print('Exception: $error'); } }

Vérification d’un code OTP

lib/services/auth_service.dart
Future<void> verifyOtp(String token, String code) async { try { // Vérification du code OTP final res = await sms.otp.verify( token: token, otp: code, phoneNumber: '0701020304', ); if (res.success) { print('OTP vérifié avec succès !'); } else { print('Code invalide: ${res.error}'); } } catch (error) { print('Exception: $error'); } }

La variable sms est l’instance initialisée de MonSMSPRO. Elle fournit deux méthodes pour l’authentification OTP : get pour l’envoi et verify pour la vérification.

Documentation de l’API

sms.otp.get

Envoie un code d’authentification (OTP) par SMS.

Future<ApiResponseModel<OTPModel?>> get({ required String phoneNumber, String? senderId, int? length, String? mode, String? appName, String? companyId, })
NomDescriptionTypeFacultatifValeur par défaut
phoneNumberNuméro de téléphone du destinataireStringNon
senderIdNom d’expéditeur affiché sur le SMS (ex: ‘MonShop’)String?Ouinull
lengthLongueur du code (4-8 chiffres)int?Oui4
modeMode du code”NUMERIC” | “ALPHABET” | “ALPHA_NUMERIC”OuiNUMERIC
appNameNom de votre application dans le SMSString?Ouinull
companyIdIdentifiant de l’entreprise pour débiter les crédits au niveau entrepriseString?OuiAuto-injecté depuis la config

Si vous avez configuré un companyId lors de l’initialisation du SDK, celui-ci est automatiquement inclus dans chaque appel à otp.get(). Les crédits seront débités du solde de l’entreprise au lieu du solde utilisateur. Vous pouvez également passer un companyId directement dans les paramètres pour un remplacement ponctuel.

sms.otp.verify

Vérifie un code d’authentification (OTP) envoyé par SMS.

Future<ApiResponseModel<OTPModel?>> verify({ required String token, required String otp, String? phoneNumber, })
NomDescriptionTypeFacultatifValeur par défaut
tokenJeton retourné par get()StringNon
otpCode de vérification saisi par l’utilisateurStringNon
phoneNumberNuméro de téléphone du destinataireString?Ouinull

Bonnes pratiques

  1. Sécurité : Utilisez des codes d’au moins 6 caractères
  2. Expiration : Les codes OTP expirent après 5 minutes
  3. Tentatives : Limitez le nombre de tentatives de vérification
  4. Messages : Personnalisez le appName pour une meilleure expérience
  5. Gestion des erreurs : Vérifiez toujours response.success avant d’accéder aux données
Last updated on