在Firebase上进行用户电子邮件验证后是否需要登录?

时间:2017-11-05 01:44:21

标签: firebase firebase-authentication

我在文档中处理用户电子邮件验证。当用户通过点击链接验证电子邮件时,他还需要登录吗?因为在此过程之后,当我在控制台上使用“firebase.auth()。currentUser”检查它时,它返回null。我希望点击验证链接后会自动登录。

var records = [{
    "Key1": "ValueA",
    "Key2": "ValueA",
    "Key3": "ValueA"
  },
  {
    "Key1": "ValueB",
    "Key2": "ValueB",
    "Key3": "ValueB"
  }
]

var keys = ["Key1", "Key2", "Key3"];

function createRecord(keys, values) {
  return keys.reduce((obj, curr, i) => {
    obj[curr] = values[i];
    return obj;
  }, {})
}

function changeRecord(arr, i, keys, values) {
  keys.forEach((key, j) => {
    arr[i][key] = values[j];
  });
}

function pushRecord(arr, record) {
  arr.push(record);
}

pushRecord(records, createRecord(keys, ["ValueC", "ValueC", "ValueC"]));
pushRecord(records, createRecord(keys, ["ValueD", "ValueD", "ValueD"]));

console.log(records);

changeRecord(records, 2, keys, ["new value", "new value", "new value"]);

console.log(records);

1 个答案:

答案 0 :(得分:2)

电子邮件验证不会自动登录。它只是验证用户的电子邮件。 你有两种情况:

  1. 用户打开同一设备上的链接,并在用户最初登录的同一浏览器中打开并发送电子邮件验证,但在另一个应用程序中。 continue URL将用户带回到与他们最初登录的页面相同的域的页面。在这种情况下,用户将登录。
  2. 用户在其他设备或浏览器上打开链接。在这种情况下,用户未登录。您必须在用户单击继续URL后再次登录该用户并重定向到该用户。
  3. 由于电子邮件验证可能发生在其他域上,或者电子邮件可能是从移动应用程序触发的,因此在验证后在操作回调页面上登录用户可能是一个坏主意,并且可能会留下悬空的身份验证状态。< / p>