Angular Ionic应用程序中的Firebase无密码电子邮件身份验证

Angular Ionic应用程序中的Firebase无密码电子邮件身份验证,angular,firebase-authentication,ionic3,angularfire2,Angular,Firebase Authentication,Ionic3,Angularfire2,Firebase最近发布了一个更新,允许我们使用“神奇链接”进行用户登录流。我开始玩这个,但我不完全确定如何让它在离子应用程序上工作,因为: 我们需要一个URL重定向用户后,他们点击他们的电子邮件中的链接 只要设置了handleCodeInApp:true值,无论您输入的URL是什么,这种方法都有效吗?我还没有找到一个坚实的教程在这方面还没有,最近我已经来到是。但问题是,他使用的是直角而不是不使用相同路由系统的ionic。我假设你正在构建一个移动ionic应用程序。否则,web应用程序的情况非常

Firebase最近发布了一个更新,允许我们使用“神奇链接”进行用户登录流。我开始玩这个,但我不完全确定如何让它在离子应用程序上工作,因为:

我们需要一个URL重定向用户后,他们点击他们的电子邮件中的链接


只要设置了
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(这是深层链接)。如果深度链接被移动应用程序截获,则永远不会导航到该链接。如果链接已打开且应用程序不可用(在桌面计算机上),则可以让该链接显示一条消息,说明应用程序仅为移动应用程序,用户应在移动设备上打开该应用程序,等等