Firebase最近发布了一个更新,允许我们使用“魔法链接”进行用户登录流程。我开始玩这个,但我不完全确定如何让它在离子应用程序上工作,因为:
我们需要一个URL来点击用户点击其电子邮件中的链接后重定向。
只要设置了handleCodeInApp: true
,无论您输入的网址是什么,这都会有效吗?我还没有找到一个可靠的教程,我最接近的是this here。但同样,问题在于他只使用直角Angular而不是离子,而不使用相同的路由系统。
答案 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托管网址(这是深层链接)。在移动应用程序截获深层链接的情况下,永远不会导航链接。如果链接打开且应用程序不可用(在台式计算机上),您可以让该链接显示应用程序仅移动的消息,用户应在移动设备上打开它等。