Angular Ionic应用程序中的Firebase无密码电子邮件身份验证
Firebase最近发布了一个更新,允许我们使用“神奇链接”进行用户登录流。我开始玩这个,但我不完全确定如何让它在离子应用程序上工作,因为: 我们需要一个URL重定向用户后,他们点击他们的电子邮件中的链接Angular Ionic应用程序中的Firebase无密码电子邮件身份验证,angular,firebase-authentication,ionic3,angularfire2,Angular,Firebase Authentication,Ionic3,Angularfire2,Firebase最近发布了一个更新,允许我们使用“神奇链接”进行用户登录流。我开始玩这个,但我不完全确定如何让它在离子应用程序上工作,因为: 我们需要一个URL重定向用户后,他们点击他们的电子邮件中的链接 只要设置了handleCodeInApp:true值,无论您输入的URL是什么,这种方法都有效吗?我还没有找到一个坚实的教程在这方面还没有,最近我已经来到是。但问题是,他使用的是直角而不是不使用相同路由系统的ionic。我假设你正在构建一个移动ionic应用程序。否则,web应用程序的情况非常
只要设置了
handleCodeInApp:true
值,无论您输入的URL是什么,这种方法都有效吗?我还没有找到一个坚实的教程在这方面还没有,最近我已经来到是。但问题是,他使用的是直角而不是不使用相同路由系统的ionic。我假设你正在构建一个移动ionic应用程序。否则,web应用程序的情况非常简单
对于ionic移动应用程序,您可以将应用程序视为移动应用程序,并传递android软件包名称或iOS捆绑包ID
var actionCodeSettings = {
// URL you want to redirect back to. The domain (www.example.com) for this
// URL must be whitelisted in the Firebase Console.
// You can use Firebase hosting to host this link even though
// for a mobile app this will not be invoked.
url: 'https://myapp.firebaseapp.com/finishSignUp?cartId=1234',
// This must be true.
handleCodeInApp: true,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android'
}
};
您需要确保配置了FDL。
有一些Cordova插件可帮助您拦截传入的FDL链接:
在应用程序中拦截链接后,您将解析深层链接并将其传递给:
firebase.auth().signInWithEmailLink(email, deepLink)...
如果你的应用程序是移动的,你可以使用Firebase托管你的URL(这是深层链接)。如果深度链接被移动应用程序截获,则永远不会导航到该链接。如果链接已打开且应用程序不可用(在桌面计算机上),则可以让该链接显示一条消息,说明应用程序仅为移动应用程序,用户应在移动设备上打开该应用程序,等等