我正试图在我的应用程序上实现无密码电子邮件登录。点击链接后,应用程序从后台返回,但动态链接为空。
这就是我发送邮件的方式(当然是用我的应用程序的正确值):
user.sendSignInWithEmailLink(
email: _email,
androidInstallIfNotAvailable: true,
iOSBundleID: "com.company.appname",
androidMinimumVersion: "16",
androidPackageName: "com.company.appname",
url: "https://appname.page.link/email",
handleCodeInApp: true);
我还补充了以下意图:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="appname.page.link" android:scheme="http"/>
<data android:host="appname.page.link" android:scheme="https"/>
</intent-filter>
尝试了不同的变体,但没有帮助,包括将firebase项目url作为主机编写,如:project-name.firebaseapp.com
数据仍然是空的。
有什么想法吗?我是不是漏掉了什么?
我已经将Firebase_Dynamic_Links
包更新到最新版本(0.5.0+9),同时使用下面的配置,它开始工作。
发送登录链接配置:
firebaseAuth.sendSignInWithEmailLink(
email: email,
url: "https://mydemoapp.page.link/email",
androidInstallIfNotAvailable: true,
androidMinimumVersion: '21',
androidPackageName: 'com.example.mydemoapp'
handleCodeInApp: true,
iOSBundleID: 'com.example.mydemoapp');
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<data android:host="mydemoapp.page.link" android:scheme="https"/>
<data android:host="mydemoapp.page.link" android:scheme="http"/>
</intent-filter>
在颤振中获得动态链接。
该示例来自https://pub.dev/packages/firebase_dynamic_links
如果应用程序没有从动态链接打开,getInitialLink()
将返回null。这就是为什么您必须Firebasedynamiclinks.instance.onlink
实现的原因,以防应用程序已经打开。
void main() {
runApp(MaterialApp(
title: 'Dynamic Links Example',
routes: <String, WidgetBuilder>{
'/': (BuildContext context) => MyHomeWidget(), // Default home route
'/helloworld': (BuildContext context) => MyHelloWorldWidget(),
},
));
}
class MyHomeWidgetState extends State<MyHomeWidget> {
.
.
.
@override
void initState() {
super.initState();
this.initDynamicLinks();
}
void initDynamicLinks() async {
final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
if (deepLink != null) {
Navigator.pushNamed(context, deepLink.path);
}
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
if (deepLink != null) {
Navigator.pushNamed(context, deepLink.path);
}
},
onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
}
);
}
.
.
.
}
必须将mydemoapp.page.link
添加到Firebase控制台中的授权域
我有一个flutter应用程序,我试图使用firebase电子邮件无密码登录。发送部分正在工作,但当我打开链接时,我得到一个错误: 但是,actioncode设置中的handleCodeInApp参数为true。 Uri在这里创建: FirebaseAuth中的isSignInWithEmailLink检查在我使用的^0.20.0+1版本中不能正常工作。有关如何修复此问题,请参考https://g
我正在使用Firebase以及作为Firebase动态链接的一部分生成的url。 > firebase动态url如下所示:例如:https://myapp.page.link/h1c4 用户收到电子邮件并点击验证链接。 在重定向结束时,我可以看到url包含如下所示的oobCode: https://myapp.page.link/h1c4?apikey=&oobcode=yg2n2elu4qgbs
当使用signInWithEmailAndPassword()API在firebase中进行身份验证时,我无法获得有效的“当前”用户。 我使用用户名和密码登录应用程序 我一旦登录,用户就会被带到主页 我试图获取用户的UID,但是没有返回有效的用户。调用发生在异步函数中,如下所示: 当前用户为空。 知道是什么引起的吗?
我正在使用RNfirebase与我的react-native应用程序。我可以得到电子邮件验证链接来打开我的应用程序,但仅此而已。我知道我需要访问链接并解析它以获得oobCode并将其应用于用户。但是,当我使用该链接打开应用程序时,我从'react-native'中使用{Linking}触发的监听器似乎没有检测到该URL。我想将他们重定向到“感谢您验证您的电子邮件”页面,以及使用由Firebase生
null 我需要重新验证用户,最好的方法是什么?在用户登录后,如何切换的状态? 谢谢
我正在使用Apple sign in将用户登录到我的应用程序,然后在Firebase上进行身份验证。现在,有时用户不分享他们的电子邮件,在这种情况下,苹果提供了一个虚构的电子邮件。登录后,am通过先用Firebase验证,将电子邮件存储在数据库中。我更新虚构的电子邮件与一个真实的首先在firebase,然后发送验证电子邮件。在firebase上更新主电子邮件后,用户是否可以再次登录苹果,因为苹果仍