اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم ورحمة الله وبركاته

قمت بربط تطبيقي مع الفايربيز لستخدام عملية التحقق من خلال OTP  كل شي تمام ولكن المشكله ان قبل استقبل الكود في الاندرويد يجب ان يقوم المستخدم من التحقق من خلال المتصفح من انه ليست ربوت 

ارغب ان اللغي هذا الخاصية كيف يمكن فعل ذلك؟

  firebase_auth: ^0.18.3
  firebase_core: ^0.5.0
  _verifyPhone() async {
    await FirebaseAuth.instance.verifyPhoneNumber(
        phoneNumber: '${widget._controller}',
        verificationCompleted: (PhoneAuthCredential credential) async {
          await FirebaseAuth.instance
              .signInWithCredential(credential)
              .then((value) async {
            if (value.user != null) {
              setState(() {
           
              });


            }
          });
        },
        verificationFailed: (FirebaseAuthException e) {
          print(e.message);
        },
        codeSent: (String verficationID, int resendToken) {
          setState(() {
            _verificationCode = verficationID;
          });
          print(_verificationCode);
        },
        codeAutoRetrievalTimeout: (String verificationID) {
          setState(() {
            _verificationCode = verificationID;
          });
        },
        timeout: Duration(seconds: 120));
  }

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _verifyPhone();
    
   
  }
}
          Padding(
            padding: const EdgeInsets.all(30.0),
            child: PinPut(
              fieldsCount: 6,

              textStyle: const TextStyle(fontSize: 25.0, color: Colors.white),
              eachFieldWidth: 40.0,
              eachFieldHeight: 55.0,
              focusNode: _pinPutFocusNode,
              controller: _pinPutController,
              submittedFieldDecoration: pinPutDecoration,
              selectedFieldDecoration: pinPutDecoration,
              followingFieldDecoration: pinPutDecoration,
              pinAnimationType: PinAnimationType.fade,
              onSubmit: (pin) async {
                try {
                  await FirebaseAuth.instance
                      .signInWithCredential(PhoneAuthProvider.credential(
                          verificationId: _verificationCode, smsCode: pin))
                      .then((value) async {
                    if (value.user != null) {
                      setState(() {
                    
                      });


                    }
                  });
                } catch (e) {
                  FocusScope.of(context).unfocus();
                  _scaffoldkey.currentState
                      .showSnackBar(SnackBar(content: Text('invalid OTP')));
                }
              },
            ),
          )

 

تم التعديل في بواسطة مروان مروان3

Recommended Posts

  • 1
نشر
بتاريخ 13 دقائق مضت قال مروان مروان3:

نعم اخي مثل هذا الصوره 

وبعض المرات يظهر مربع التحقق ويجب على المستخدم اختيار الصور المطلوبه منه ثم يضغط متابعه 

يمكنك إزالة reCaptcha عن طريق Enabling the Android Device Verification API في مشروعك على google cloud console من Google. يمكنك القيام بذلك عن طريق إضافة مشروعك هناك ثم يجب عليك أيضًا إضافة مفتاح SHA-256 في مشروع Firebase الخاص بك في إعداد المشروع. 

  • 0
نشر
بتاريخ الآن قال بلال زيادة:

ممكن صورة للمشكلة ؟ 

vQt9B.png.6f2c1ed8ab8b448d67c46b4933373f66.png

 

نعم اخي مثل هذا الصوره 

وبعض المرات يظهر مربع التحقق ويجب على المستخدم اختيار الصور المطلوبه منه ثم يضغط متابعه 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...