RRAD 多因素认证
特点
- 注册设备以获取基于时间的OTP。
- 验证基于时间的OTP注册。
- 为注册设备的用户ID验证基于时间的OTP。
- 发送短信OTP。
- 验证短信OTP。
安装
将包添加到您的 pubspec.yaml
dependencies:
rrad_mfa: any
然后您需要初始化包实例才能使用它。
void main() async {
WidgetsFlutterBinding.ensureInitialized();
RRADMFA.instance.init(
appName: 'RRAD', // Short name of your app
serverUrl: 'https://:6969', // Your server url
totpApiKey: 'sdvsdvdaszfhvcedsth', // Your api key for totp
smsApiKey: 'adsrgetwyetr', // Your api key for sms otp
);
runApp(const MyApp());
}
- 如果您想使用基于时间的OTP,则需要
totpApiKey。 - 如果您想使用短信OTP,则需要
smsApiKey。
API 规格
首次为基于时间的OTP注册用户ID
TOTPResponse<TOTP?> result = await RRADMFA.instance.register();
如果注册成功,它将返回密钥、用户ID和用于二维码的图像 Unit8List 数据。
使用数据在 Image.memory 小部件中显示图像。
Image.memory(
result.qrcodeImage!,
);
验证用户ID的基于时间的OTP(之后)
TOTPResponse<TOTP?> result = await RRADMFA.instance.verify(
userId: '', // userId stored from register response
otp: '', // otp taken from user
);
验证用户ID的基于时间的OTP
TOTPResponse<TOTP?> result = await RRADMFA.instance.validate(
userId: '', // userId stored from register response
otp: '', // otp taken from user
);
向手机号码发送短信OTP
目前,我们只向有效的孟加拉国手机号码发送短信OTP。
TOTPResponse<TOTP?> result = await RRADMFA.instance.sendSmsOtp(
phoneNumber: '', // phone number of user
);
验证发送到手机号码的短信OTP
TOTPResponse<TOTP?> result = await RRADMFA.instance.validateSmsOtp(
phoneNumber: '', // phone number of user
otp: '', // otp taken from user
);
使用 ❤️ 创建,作者:RRAD