【发布时间】:2020-10-12 14:44:23
【问题描述】:
所以我希望用户能够在我的 Flutter 网站上使用他们的 twitter 帐户注册。
我找到了这个包 (https://pub.dev/packages/flutter_twitter),但我试过了,它在 Flutter Web 上不起作用,只能在手机上运行。
那么,我必须自己进行此身份验证吗?如果是这样,我该怎么做?
【问题讨论】:
标签: flutter flutter-web
所以我希望用户能够在我的 Flutter 网站上使用他们的 twitter 帐户注册。
我找到了这个包 (https://pub.dev/packages/flutter_twitter),但我试过了,它在 Flutter Web 上不起作用,只能在手机上运行。
那么,我必须自己进行此身份验证吗?如果是这样,我该怎么做?
【问题讨论】:
标签: flutter flutter-web
您可以通过 twitter 使用 firebase Authentication 登录方法
【讨论】:
您可以使用 Firebase 团队提供的 Firebase Auth Plugin。 该插件支持谷歌、电子邮件和密码、电话、匿名、GitHub、Facebook 和 Twitter 身份验证。
也可以使用社区提供的Flutter_Twitter package、TwitterAPI package。
希望对你有帮助
【讨论】:
对于 Flutter Web,很遗憾,flutter_twitter 包不起作用。但是,使用 firebase_auth 和 firebase_core 将适用于 Flutter Web:
Future<bool> signInWithTwitter() async {
final userCredential = await FirebaseAuth.instance
.signInWithPopup(TwitterAuthProvider());
return userCredential.user != null;
}
在使用之前,您需要为应用初始化 Firebase:
await Firebase.initializeApp();
不要忘记倾听用户的变化,例如:
FirebaseAuth.instance
.authStateChanges()
.listen((User? user) {
if (user == null) {
...
} else {
...
}
});
另外,请确保将 Twitter 的“身份验证设置”中的回调 URL 设置为:
https://[YOURAPPNAME].firebaseapp.com/__/auth/handler
并且您的 Firebase 身份验证包括 Twitter 作为提供者。
【讨论】: