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,
})| Nom | Description | Type | Facultatif | Valeur par défaut |
|---|---|---|---|---|
| phoneNumber | Numéro de téléphone du destinataire | String | Non | |
| senderId | Nom d’expéditeur affiché sur le SMS (ex: ‘MonShop’) | String? | Oui | null |
| length | Longueur du code (4-8 chiffres) | int? | Oui | 4 |
| mode | Mode du code | ”NUMERIC” | “ALPHABET” | “ALPHA_NUMERIC” | Oui | NUMERIC |
| appName | Nom de votre application dans le SMS | String? | Oui | null |
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,
})| Nom | Description | Type | Facultatif | Valeur par défaut |
|---|---|---|---|---|
| token | Jeton retourné par get() | String | Non | |
| otp | Code de vérification saisi par l’utilisateur | String | Non | |
| phoneNumber | Numéro de téléphone du destinataire | String? | Oui | null |
Bonnes pratiques
- Sécurité : Utilisez des codes d’au moins 6 caractères
- Expiration : Les codes OTP expirent après 5 minutes
- Tentatives : Limitez le nombre de tentatives de vérification
- Messages : Personnalisez le
appNamepour une meilleure expérience - Gestion des erreurs : Vérifiez toujours
response.successavant d’accéder aux données
Last updated on