Firebase GAS Webapp Google弹出窗口消失

Kat*_*Kat 1 login google-apps-script firebase firebase-authentication

我正在尝试升级我的Firebase GAS Webapp,以前我有一个弹出窗口,它将用Google登录用户。我不确定自己在做什么错,但是我已经升级到新的Firebase,现在正尝试使用新的代码格式获得相同的登录名。

发生的是弹出窗口出现并立即消失。有人可以在这里看到我做错了吗?

感谢您的帮助。

<html lang="en">
<head>
  <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-auth.js"></script>
  <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase-database.js"></script>

<script>
var config = {
    apiKey: "",
    authDomain: "",
    databaseURL: "",
    storageBucket: ""
  }; 
 firebase.initializeApp(config);

</script>
</head>

<body>

<label id="name">First Name</label>

<script>
var provider = new firebase.auth.GoogleAuthProvider();
    firebase.auth().signInWithPopup(provider).then(function(result) {
    var user = result.user;
    document.getElementById("name").value = user;
  }).catch(function(error) {
    console.log(error);
  });   
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Kat*_*Kat 5

问题已经解决了。我遇到了Firebase的优秀人才,而Dane和我一直都在努力,直到一切顺利。我的代码很好,问题出在凭据上。如果您遇到相同的问题,请完成以下所有步骤:

Google配置

  • 转到此链接Google Developers Console
  • 转到屏幕左侧的凭据选项
  • 单击浏览器API密钥并复制它
  • 确保您复制的API密钥与Web应用程序配置中的API密钥相同。如果不匹配,请用复制的API密钥替换代码中的api密钥
  • 在“ OAuth 2.0客户端ID”下,点击“网络客户端(由Google服务自动创建)”
  • 导航到“授权的JavaScript起源”部分
  • 添加您在测试页面时访问的完整URL,或者确保添加更通用的URL,例如https://script.google.com/*

  • 点击oAuth Web应用程序

  • 对于授权的javascript来源,请添加.firebaseapp.com
  • 对于授权的重定向URI,请添加.firebaseapp.com / __ / auth / handler

  • 点击“网络客户端(由Google服务自动创建)”

  • 复制客户端ID和客户端密钥
  • 转到Firebase控制台的登录方法页面
  • 点击谷歌
  • 单击Web SDK配置
  • 使用您获得的值更新客户端ID和密钥
  • 点击保存

Firebase配置

  • 转到此Firebase控制台
  • 选择您的项目,单击屏幕左侧的Auth选项,然后选择屏幕顶部的登录方法
  • 向下滚动到OAuth重定向域,然后查看是否列出了您的自定义域
  • 如果不是,请单击“添加域”,输入您的自定义域,然后单击“添加”。

  • 打开谷歌浏览器,然后转到您的应用程序部署页面。

  • 右键单击页面,然后选择“检查”
  • 您将看到“控制台”选项卡和一个向下箭头(看起来像一个倒三角形)。-点击向下箭头,然后选择“ userHtmlFrame(...)”
  • 在终端(指向右侧的蓝色箭头)中,粘贴“ window.location.hostname”,然后单击Enter
  • 将显示一个字符串。将其复制并从Firebase控制台添加到授权域(“身份验证”>“登录方法”>“ OAuth重定向域”)。