首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Firebase身份验证(不是函数,也不是构造函数)

Firebase身份验证(不是函数,也不是构造函数)
EN

Stack Overflow用户
提问于 2016-07-05 09:38:49
回答 4查看 13.9K关注 0票数 3

我不知道哪里出了问题。我正在使用Node.js,并尝试使用电子邮件/密码和谷歌身份验证登录。我已经在Firebase控制台中启用了所有这些。

npm Firebase版本- 3.1.0

部分代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var firebase = require('firebase');

var config = {
  apiKey: "AIzaSyAH27JhfgCQfGmoGTdv_VaGIaX4P-qAs_A",
  authDomain: "pgs-intern.firebaseapp.com",
  databaseURL: "https://pgs-intern.firebaseio.com",
  storageBucket: "pgs-intern.appspot.com",
};

firebase.initializeApp(config);

app.post('/login', function(req, res) {
  var auth = firebase.auth();

  firebase.auth().signInWithEmailAndPassword(req.body.login, req.body.password).catch(function(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;
    // ...
  });
}

错误: firebase.auth(...).signInWithLoginAndPassword不是函数或错误:我编写时firebase.auth(...).GoogleAuthProviders不是构造函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
firebase.auth().signInWithPopup(provider).then(function(result) {
  // This gives you a Google Access Token. You can use it to access the Google API.
  var token = result.credential.accessToken;
  // The signed-in user info.
  var user = result.user;
  // ...
}).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // The email of the user's account used.
  var email = error.email;
  // The firebase.auth.AuthCredential type that was used.
  var credential = error.credential;
  // ...
});

我只是完全按照文档中的说明做了。

EN

回答 4

Stack Overflow用户

发布于 2016-07-05 10:10:33

你的第一个错误可能来自某个地方的打字错误。

firebase.auth(...).signInWithLoginAndPassword is not a function

注意,它显示signInWithLoginAndPassword,函数名为signInWithEmailAndPassword.在发布的代码中,它被正确使用,所以它可能在其他地方。

firebase.auth(...).GoogleAuthProviders is not a constructor

您还没有将代码发布到使用它的位置,但我假设在创建在firebase.auth().signInWithPopup(provider)中使用的provider变量时会出现此错误

这行应该是var provider = new firebase.auth.GoogleAuthProvider();

根据错误消息,我认为您可能正在执行new firebase.auth().GoogleAuthProvider();省略auth后面的括号,如果是这样的话。

票数 1
EN

Stack Overflow用户

发布于 2016-07-05 15:59:26

没有办法使用email+password或社交提供商将你的node.js应用程序登录到firebase。

服务器端进程使用所谓的服务帐户登录Firebase。关键的区别在于你初始化应用程序的方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var admin = require('firebase-admin');
admin.initializeApp({
  serviceAccount: "path/to/serviceAccountCredentials.json",
  databaseURL: "https://databaseName.firebaseio.com"
});

请参阅Firebase documentation for details on setting up a server-side process的此页面。

票数 1
EN

Stack Overflow用户

发布于 2017-02-09 17:49:47

不要通过Auth()函数调用GoogleAuthProvider。

根据文档,您必须创建一个GoogleAuthProvider实例。

let provider = new firebase.auth.GoogleAuthProvider()

请检查下面的链接https://firebase.google.com/docs/auth/web/google-signin

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38200044

复制
相关文章
win和linux的php异或运算结果不同
作者:matrix 被围观: 3,383 次 发布时间:2015-06-17 分类:兼容并蓄 零零星星 | 3 条评论 »
HHTjim 部落格
2022/09/26
2.6K0
win和linux的php异或运算结果不同
bat批处理命令根据不同的操作系统设置不同的电源使用方案
公司最近发现电费高了,经查看原来是有部分同事下班电脑不关……那么问题来了,我们如何通过技术手段来避免这个问题呢?直接下发策略远程关机是可以的,但怕有误伤;准备推送策略让电脑休眠,毕竟能省一点是一点吗,接着发现这得每天推送一次脚本,并且遇到加班的同事策略就显得呆板了,无法在错过执行时间后继续运行;又考虑了下,想办法更改终端的电源方案,控制显示器关机和睡眠时间,这样只要符合策略系统自己就执行了;继续完善,xp和win7系统更改电源方案命令还不一样;最后决定通过360天擎平台推送批处理脚本,然后脚本根据操作系统执行对应的命令,这样终端电源方案被改了,只要满足对应策略,终端就会自动关闭显示器,进入休眠或者睡眠模式。
吾爱运维
2022/10/05
2.3K0
bat批处理命令根据不同的操作系统设置不同的电源使用方案
批处理for命令的用法_cmd批处理命令
语法 for {%variable|%%variable} in (set) do command [ CommandLineOptions]
全栈程序员站长
2022/11/07
2.3K0
批处理for命令的用法_批处理for命令详解
for %variable in (set) do command [command-parameters]
全栈程序员站长
2022/10/02
2.6K0
相同的时间,不同的人生
在规定的时间内,一个人目标的达成情况(创造的价值),我们称之为效率。如此可见效率与时间是密切相关的,提高效率首先要做的就是提高我们的时间利用率。
keinYe
2020/05/25
1.2K0
select * 与 select id 字段 条件相同 数据结果不同(二)
都是全表扫描 都是使用where 都是文件排序(如果待排序的内容不能由所使用的索引直接完成排序的话)
MickyInvQ
2020/09/27
1.3K0
select *  与 select id  字段 条件相同 数据结果不同(二)
select * 与 select id 字段 条件相同 数据结果不同(一)
起初以为是timezone时区设置问题,结果,配置改为CST后,仍然问题没解决,后看了下,这个date是dateTime类型的,与时区无关,所以问题不在此。
MickyInvQ
2020/09/27
1.2K0
select *  与 select id  字段 条件相同 数据结果不同(一)
python获取命令行输出结果
python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这里以获取本机MAC地址和IP地址为例! # coding: GB2312 import os, re # execute command, and return the output def execCmd(cmd): r = os.popen(cmd) text = r.read() r.close() return text # write "data" to file
py3study
2020/01/10
4.5K0
简单的批处理命令_bat批处理执行cmd命令
转载来源:https://blog.csdn.net/Joker_N/article/details/89838719
全栈程序员站长
2022/09/23
2K0
命令行查看不同系统的网卡信息
很多时候一条简单的命令就可以得到你所想要的信息,记住他们吧! windows:wmic nic list brief linux:lspci|grep Ethernet exsi:esxcfg-nic
孙杰
2019/10/29
7510
命令行查看不同系统的网卡信息
consul注册相同服务,相同程序,相同IP,不同端口来负载的问题
由于今天发现运维代码未正常发布。想要自己手动发布。发现原有服务名mos-x3-gls-service只有1个node启动,为了保障发布时原有服务不中断我需要再注册1个node,于是我简单修改了原有springboot端口9112为9113,启动后发现9113的节点正常注册,但是原来9112端口的节点服务没有了,搞了个寂寞。原因是如果在Spring Cloud Consul中使用相同的节点id进行注册,那么Consul将会将它们视为同一个节点,并将它们注册为同一个节点。老了,大意了。于是我把注册consul的节点id设置为服务名称+进程id即可解决。
高久峰
2023/06/17
5190
Simulator 和 Emulator 的相同和不同;
在看模拟器的时候,出现了关于Simulator和Emulator两种词汇;都可以翻译为模拟器;但在调研游戏模拟器的时候,多为Emulator; 两者词汇的含义和应用场景有什么异同呢?
西湖醋鱼
2021/02/23
2K0
linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明
最近看了一下我的博客的访问统计,作为一个前端博主,没有想到我阅读量最高的一篇博文居然是介绍如何在命令行使用 curl 命令的文章《curl 模拟 GET\POST 请求,以及 curl post 上传文件》。
FungLeo
2020/04/30
6.6K0
linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明
批处理for命令的用法_批处理主要解决
for是批处理中最复杂,也最强大的关键字。熟练掌握for的用法,才可能理解批处理的强大之处。
全栈程序员站长
2022/09/27
1.9K0
Windows命令窗口输入命令报错不是内部或外部命令,也不是可运行的程序 或批处理文件
在系统环境变量的Path路径中添加C:\Windows\system32; 如果Path有变量值,则这样加(;C:\Windows\system32;)
互联网-小阿宇
2022/11/21
1K0
Windows命令窗口输入命令报错不是内部或外部命令,也不是可运行的程序 或批处理文件
Shell 命令行求两个文件每行对比的相同内容
本文介绍了如何通过shell命令行进行两个文件之间的对比,包括使用cat命令、while循环、for循环以及grep命令等方法。通过这些方法,可以方便地求出两个文件中每行对比的相同内容,并输出结果。
FungLeo
2018/01/08
2.9K0
Windows命令窗口输入命令报错不是内部或外部命令,也不是可运行的程序 或批处理文件
在系统环境变量的Path路径中添加C:\Windows\system32; 如果Path有变量值,则这样加(;C:\Windows\system32;)
全栈程序员站长
2021/06/10
1.6K0
Windows命令窗口输入命令报错不是内部或外部命令,也不是可运行的程序 或批处理文件
获取时间的批处理命令
@echo off set panpath=C:\pdi-ce-5.4.0.1-130\data-integration set kpath=D:\03works\ZYWSPT\kettle
用户5640963
2019/07/26
9710
'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
1、C:\Users\Aiyufei>mysql -h 127.0.0.1 -u root 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。
别先生
2018/10/25
6.9K0
'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
‘vue’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
获取下载的包路径信息 npm config get prefix 将路径设置到系统环境变量
kirin
2020/06/18
6.5K0

相似问题

在单个事务中运行spring @ transaction注释方法

10

Spring JPA事务在@ transaction注释方法结束之前提交

31

Spring @ Transaction阻止打开事务

10

Spring为每个方法调用获得新事务,而事务不能正常工作。

10

通过反射调用@ transaction方法时未创建的Spring事务

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文