如何处理动态链接URL?

问题描述 投票:1回答:1

我有一个表格来注册用户,使用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未为当前项目配置或授权提供的动态链接域。

提前很多!

javascript firebase firebase-authentication
1个回答
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,还有其他项目特定的配置] >>

© www.soinside.com 2019 - 2024. All rights reserved.