首页 > 解决方案 > 在最新的(2020 年 8 月)firebase 更新之后,使用电子邮件链接完成登录已停止为颤振工作

问题描述

这是我的代码

Future<bool> sendSignInWithEmailLink(email) async {
  final FirebaseAuth user = FirebaseAuth.instance;
  _email = email;

//  try {
//    user.sendSignInWithEmailLink(
//        email: email,
//        androidInstallIfNotAvailable: true,
//        iOSBundleID: kName, //constant
//        androidMinimumVersion: "16",
//        androidPackageName: kName, //constant
//        url: kLink, //constant
//        handleCodeInApp: true);
  try {
    user.sendSignInLinkToEmail(
      email: _email,
      actionCodeSettings: ActionCodeSettings(
          url: appEmail + _email,
          iOS: {"bundleId": kName},
          android: {
            "packageName": kName,
            "installApp": true,
            "minimumVersion": '12'
          },
          handleCodeInApp: true,
          dynamicLinkDomain: kLink),
    );
  } catch (e) {
    return false;
  }
  print(email + "<< sent");
  return true;
}

Future<void> getInitialLink() async {
  final PendingDynamicLinkData data =
      await FirebaseDynamicLinks.instance.getInitialLink();

  final Uri deepLink = data?.link;
  print(deepLink.toString());

  if (deepLink.toString() != null) {
    _link = deepLink.toString();
    _signInWithEmailAndLink();
  }
}

Future<void> _signInWithEmailAndLink() async {
  final FirebaseAuth user = FirebaseAuth.instance;
  bool validLink = await user.isSignInWithEmailLink(_link);
  if (validLink) {
    try {
      await user.signInWithEmailLink(email: _email, emailLink: _link);
    } catch (e) {
      print(e);
    }
  }
}

在更新评论之前( sendSignInWithEmailLink )代码可以正常工作。但更新后它不再工作,我尝试使用 sendSignInLinkToEmail 但无法使其工作。

我怎样才能让它再次工作。

标签: firebaseflutteremaildartfirebase-authentication

解决方案


为我工作:

            FirebaseAuth.instance.sendSignInLinkToEmail(
              email: "example@example.com",
              actionCodeSettings: ActionCodeSettings(
                url: "https://example.web.app",
                android: {
                  'packageName': "com.example.example",
                  'installApp': true,
                  'minimumVersion': '12'
                },
                iOS: {
                  'bundleId': "com.example.example",
                },
                handleCodeInApp: true,
              ),
            );

推荐阅读