繁体   English   中英

OTP 验证在 flutter 没有 Firebase

[英]OTP Verification in flutter without Firebase

使用 email 和密码使用 firebase flutter 注册新用户后。有没有办法在没有 firebase 电话身份验证的情况下验证他的电话号码,这样同一用户就不会使用电子邮件/密码和电话号码注册(我想注册他一次使用他的 email 和密码并验证他的电话号码)?

(目前这个 package 已经过时了,不支持 Null Safety)。 你可以试试 flutter_otp package 我认为这是最好的选择,

您可以访问https://pub.dev/packages/flutter_otp了解更多信息,

试试下面的例子

import 'package:flutter/material.dart';
import 'package:flutter_otp/flutter_otp.dart';

// Now instantiate FlutterOtp class in order to call sendOtp function
FlutterOtp otp = FlutterOtp();
class SendOtp extends StatelessWidget {
   String phoneNumber = "93XXXXXXXX"; //enter your 10 digit number
   int minNumber = 1000;
   int maxNumber = 6000;
   String countryCode ="+91"; // give your country code if not it will take +1 as default


 @override
 Widget build(BuildContext context) {
   return Scaffold(
    appBar: AppBar(title: Text("send otp using flutter_otp ")),
    body: Container(
      child: Center(
        child: RaisedButton(
         child: Text("Send"),
         onPressed: () {
           // call sentOtp function and pass the parameters

        otp.sendOtp(phoneNumber, 'OTP is : pass the generated otp here ',
            minNumber, maxNumber, countryCode);
      },
    )),
  ),
);

} }

我想你可以试试这个 package: https://pub.dev/packages/flutter_otp
还有很多网站提供 OTP SMS 服务。

提示:您甚至可以使用 Firebase Auth,因为它也适合您的情况。

在 firebase 中,您可以像这样链接(类似于合并)使用 Email 和电话创建的帐户emailUser.getCurrentUser().linkWithCredential(phoneUserCredential)
在这种情况下,您的应用程序将包含一个用户,该用户具有该 Email 和电话。
额外的好处是您不想将电话号码存储在单独的数据库中。
链接两个帐户后,您只需使用user.displayNameuser.phoneNumber即可获取您的 Email 和电话。

参考:
https://firebase.google.com/docs/auth/android/account-linking
https://firebase.google.com/docs/auth/web/account-linking

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM