Ionic App

时间:2018-04-01 00:49:23

标签: angular firebase-authentication ionic3 angularfire2

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

  

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

只要设置了handleCodeInApp: true,无论您输入的网址是什么,这都会有效吗?我还没有找到一个可靠的教程,我最接近的是this here。但同样,问题在于他只使用直角Angular而不是离子,而不使用相同的路由系统。

1 个答案:

答案 0 :(得分:1)

我假设你正在构建一个移动离子应用程序。否则,网络应用程序案例非常简单。

对于离子移动应用,您可以将您的应用视为移动应用并传递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链接: https://ionicframework.com/docs/native/firebase-dynamic-links/

截取应用中的链接后,您将解析深层链接并将其传递给:

firebase.auth().signInWithEmailLink(email, deepLink)...

如果您的应用仅限移动设备,则可以使用Firebase托管网址(这是深层链接)。在移动应用程序截获深层链接的情况下,永远不会导航链接。如果链接打开且应用程序不可用(在台式计算机上),您可以让该链接显示应用程序仅移动的消息,用户应在移动设备上打开它等。