如何在 Flutter Web 中启用 Firebase 电话验证?我尝试了很多方法,但似乎不起作用,需要将短信代码发送给用户
Posted
技术标签:
【中文标题】如何在 Flutter Web 中启用 Firebase 电话验证?我尝试了很多方法,但似乎不起作用,需要将短信代码发送给用户【英文标题】:How to enable firebase phone verification in flutter web ? I have tried many ways but it doesn't seems to work, SMS code need to be sent to the user 【发布时间】:2021-05-23 05:23:47 【问题描述】:我想通过使用firebase发送OTP来实现电话验证,如何做到这一点? .我试过在github关注这个帖子,但是没有用,它没有帮助,signInwithphoneNumber 只登录用户而不通过发送短信 OTP 代码验证用户,如何解决这个问题?
Github 话题链接:https://github.com/flutter/flutter/issues/46021
当我实现时抛出以下错误:
Error: UnimplementedError: verifyPhoneNumber() is not supported on the web. Please use
`signInWithPhoneNumber` instead.
谁能帮帮我!!!
【问题讨论】:
【参考方案1】:你必须使用
FirebaseAuth auth = FirebaseAuth.instance;
// Wait for the user to complete the reCAPTCHA & for an SMS code to be sent.
ConfirmationResult confirmationResult = await auth.signInWithPhoneNumber('+44 7123 123 456');
然后这个来验证
UserCredential userCredential = await confirmationResult.confirm('123456');
您也可以根据自己的使用情况添加RecaptchaVerifier
ConfirmationResult confirmationResult = await auth.signInWithPhoneNumber('+44 7123 123 456', RecaptchaVerifier(
container: 'recaptcha',
size: RecaptchaVerifierSize.compact,
theme: RecaptchaVerifierTheme.dark,
));
您还可以编辑验证码
RecaptchaVerifier(
onSuccess: () => print('reCAPTCHA Completed!'),
onError: (FirebaseAuthException error) => print(error),
onExpired: () => print('reCAPTCHA Expired!'),
);
【讨论】:
以上是关于如何在 Flutter Web 中启用 Firebase 电话验证?我尝试了很多方法,但似乎不起作用,需要将短信代码发送给用户的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter Web 中启用 Firebase 电话验证?我尝试了很多方法,但似乎不起作用,需要将短信代码发送给用户
如何在 Flutter Web 中使用 Skia/CanvasKit?
Flutter - 如何在 android 中自动启用位置服务?