这是我的代码
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,但无法使它起作用。我该如何使其重新工作。
最佳答案
为我工作:
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,
),
);
关于firebase - 在最新(2020年8月)firebase更新之后,使用电子邮件链接的完整登录已不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63644325/