如何处理动态链接网址?

时间:2019-03-29 17:35:39

标签: javascript firebase firebase-authentication

我有一个使用firebase.auth()。createUserWithEmailAndPassword注册用户的表格,效果很好。

但是我想发送一个验证链接,Firebase帮助告诉我我必须使用actionCodeSettings

但是文档记录远没有帮助。

你们可以帮我一些建议吗?

var actionCodeSettings = {
   url: 'https://newagent-48d6b.firebaseapp.com/__/?email=' + firebase.auth().emailUser,
   iOS: {
      bundleId: 'com.example.ios'
   },
   android: {
      packageName: 'com.example.android',
      installApp: true,
      minimumVersion: '12'
   },
   handleCodeInApp: true,
      dynamicLinkDomain: "example.page.link"
   };

firebase.auth().sendSignInLinkToEmail(emailUser, actionCodeSettings)
   .then(function() {
      window.localStorage.setItem('emailForSignIn', emailUser);
      console.log("rocks")
    })
   .catch(function(error) {
      var errorCode = error.code;
      var errorMessage = error.message;
      console.log(errorCode + errorMessage);
   });

控制台日志: auth / invalid-dynamic-link-domain未为当前项目配置或授权提供的动态链接域。

提前很多!

1 个答案:

答案 0 :(得分:0)

这意味着您使用的动态链接的域未经授权,您可以通过Firebase console-身份验证->登录方法授权域

bundleId: 'com.example.ios'
packageName: 'com.example.android',
dynamicLinkDomain: "example.page.link"

这只是示例数据,您仍然需要在此处填写实际的应用程序设置,获得auth/invalid-dynamic-link-domain意味着您可能已经离开了dynamicLinkDomain: "example.page.link"

  1. dynamicLinkDomain不是必填字段,因此您可以将其删除
  2. 您仍然需要启用来自Firebase console的动态链接。这将创建一个默认域,并且应将其自动列入白名单
  3. 您仍然需要将url中使用的所有域列入白名单。 *.firebaseapp.com应该已经为您列入白名单。要允许域从Firebase控制台转到“身份验证”页面

为了能够处理应用程序(handleCodeInApp: true)中的代码,还有其他特定于项目的配置