Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript sendSignInLinkToEmail函数是否与firebase仿真器一起工作?_Javascript_Firebase_Firebase Authentication_Firebase Tools - Fatal编程技术网

Javascript sendSignInLinkToEmail函数是否与firebase仿真器一起工作?

Javascript sendSignInLinkToEmail函数是否与firebase仿真器一起工作?,javascript,firebase,firebase-authentication,firebase-tools,Javascript,Firebase,Firebase Authentication,Firebase Tools,sendSignInLinkToEmail函数是否与firebase仿真器一起工作? 我尝试了以下代码。 Firebase主机发送电子邮件,但Firebase emulator不发送。 (创建和登录正在使用emulator。) 如果有人知道,请告诉我 “firebase”:“^8.1.1” “docker”:“v19.03.13” “节点(在docker中)”:“14” “vue(在docker中)”:“^2.6.11” 源代码firebase.js(初始化) 源代码authMail.vue i

sendSignInLinkToEmail函数是否与firebase仿真器一起工作? 我尝试了以下代码。 Firebase主机发送电子邮件,但Firebase emulator不发送。 (创建和登录正在使用emulator。) 如果有人知道,请告诉我

“firebase”:“^8.1.1”

“docker”:“v19.03.13”

“节点(在docker中)”:“14”

“vue(在docker中)”:“^2.6.11”

源代码firebase.js(初始化)

源代码authMail.vue

import fbapp from "firebase/app"
import "firebase/auth"
const config = {
 apiKey: process.env.VUE_APP_FIB_API_KEY,
 authDomain: process.env.VUE_APP_FIB_AUTHDOMAIN,
 databaseURL: process.env.VUE_APP_FIB_FIRESTORE_URL,
 projectId: process.env.VUE_APP_FIB_PROJECT_ID,
 storageBucket: process.env.VUE_APP_FIB_STRG_BUCKET,
 messagingSenderId: process.env.VUE_APP_FIB_MSG_ID,
 corsConfiguration: [{ maxAgeSeconds: 3600 }],
 measurementId: process.env.VUE_APP_FIB_MEASUREMENT_ID,
 appId: process.env.VUE_APP_FIB_APP_ID
 }
const firebase = fbapp.initializeApp(config);

export default {
  initAuth() {
    firebase.auth().useEmulator('http://localhost:9099/')
  return auth;
}
 import Firebase from '@/firebase';
 const fb_auth = Firebase.initAuth();
 // ~~ ~~ //
 methods: {
 async sendAuthMail(email){
  const actionCodeSettings = {
    url: process.env.VUE_APP_URL + '/signup/authorize' + redirect_param,
    handleCodeInApp: true
  }

  fb_auth.sendSignInLinkToEmail(email, actionCodeSettings)
    .then(function() {
      window.localStorage.setItem('emailForSignIn', email);
      return true
  })
  .catch(function(error) {
      return error
  });
},

如上的文档所示:

对于使用电子邮件链接流测试电子邮件验证/登录,emulator将打印一个URL到执行firebase emulator:start的终端

我需要验证电子邮件地址customer@ex.com,请点击以下链接:
http://localhost:9099/emulator/action?mode=verifyEmail&lang=en&oobCode=XYZ123&apiKey=fake-api密钥

将链接粘贴到浏览器中以模拟验证事件,并检查验证是否成功

{
  "authEmulator": {
    "success": "The email has been successfully verified.",
    "email": "customer@example.com"
  }
}

因此,emulator不发送电子邮件,您需要检查emulator控制台输出中的链接,以进行验证并登录。

OK。让我知道结果如何。如果我的答案有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样其他人就知道你已经得到了(足够)的帮助。你也看到了我提供的信息,你有没有得到过这样的帮助?如果我的答案有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见