- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Google's official documentation on Github 在我的应用程序中添加 Firebase ui 身份验证.
电子邮件登录工作正常,但电话登录选项出现问题。
单击“使用电话登录”并输入我的号码上的 6 位代码后,我无法注册或登录。
圆形加载圈不停地旋转,并没有将我重定向到我的 main.js
中定义的 signInSuccessUrl
。
我在控制台中得到的错误是这样的:
firebaseui.js:82 Uncaught TypeError: Cannot read property 'call' of undefined
at Ca (firebaseui.js:82)
at Fl (firebaseui.js:323)
at firebaseui.js:324
at firebaseui.js:281
at El.<anonymous> (firebaseui.js:238)
at oe (firebaseui.js:140)
at ne (firebaseui.js:139)
at ni (firebaseui.js:219)
at li.h (firebaseui.js:219)
at le (firebaseui.js:136)
Ca @ firebaseui.js:82
Fl @ firebaseui.js:323
(anonymous) @ firebaseui.js:324
(anonymous) @ firebaseui.js:281
(anonymous) @ firebaseui.js:238
oe @ firebaseui.js:140
ne @ firebaseui.js:139
ni @ firebaseui.js:219
li.h @ firebaseui.js:219
le @ firebaseui.js:136
he @ firebaseui.js:137
b @ firebaseui.js:134
我的index.html
<!DOCTYPE html>
<html>
<head>
<title>Site Web flow</title>
<link type="text/css" rel="stylesheet" href="https://cdn.firebase.com/libs/firebaseui/2.6.0/firebaseui.css" />
</head>
<body>
<h1>Site Web flow</h1>
<div id="firebaseui-auth-container"></div>
<hr>
<div>
<div id="loader">Loading...</div>
<div id="sign-in-status"></div>
<div id="sign-in"></div>
<div id="account-details"></div>
<button id="signOutButton">Signout</button>
</div>
<script src="https://cdn.firebase.com/libs/firebaseui/2.6.0/firebaseui.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.9.1/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.9.1/firebase-firestore.js"></script>
<script src="main.js"></script>
</body>
</html>
我的 main.js 文件:
let config = {
apiKey: '##',
authDomain: '##',
projectId: '##'
};
firebase.initializeApp(config);
const db = firebase.firestore();
// const auth = firebase.auth();
let uiConfig = {
signInOptions: [
{
provider: firebase.auth.EmailAuthProvider.PROVIDER_ID,
requireDisplayName: true
},
{
provider: firebase.auth.PhoneAuthProvider.PROVIDER_ID,
defaultCountry: 'IN'
}
],
signInSuccessUrl: './success.html',
tosUrl: '#',
callbacks: {
signInSuccess: (currentUser, credential, redirectUrl) => {
return true;
},
signInFailure: (error) => {
return handleUIError(error);
},
uiShown: () => {
document.getElementById('loader').style.display = 'none';
}
}
};
// Initialize the FirebaseUI Widget using Firebase.
let ui = new firebaseui.auth.AuthUI(firebase.auth());
// The start method will wait until the DOM is loaded.
ui.start('#firebaseui-auth-container', uiConfig);
ui.disableAutoSignIn();
initApp = function() {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
let displayName = user.displayName;
let email = user.email;
let emailVerified = user.emailVerified;
let photoURL = user.photoURL;
let uid = user.uid;
let phoneNumber = user.phoneNumber;
let providerData = user.providerData;
user.getIdToken().then(function(accessToken) {
document.getElementById('sign-in-status').textContent = 'Signed in';
document.getElementById('sign-in').textContent = 'Sign out';
document.getElementById('account-details').textContent = JSON.stringify({
displayName: displayName,
email: email,
emailVerified: emailVerified,
phoneNumber: phoneNumber,
photoURL: photoURL,
uid: uid,
accessToken: accessToken,
providerData: providerData
}, null, ' ');
});
} else {
// User is signed out.
document.getElementById('sign-in-status').textContent = 'Signed out';
document.getElementById('sign-in').textContent = 'Sign in';
document.getElementById('account-details').textContent = 'null';
}
}, function(error) {
console.log(error);
});
};
window.addEventListener('load', function() {
initApp()
});
document.getElementById('signOutButton').addEventListener('click', (e) => {
e.preventDefault();
firebase.auth().signOut().then(() => {
console.log('Signed out');
})
})
我确实在我的 Firebase 控制台中启用了使用电子邮件和电话登录。谁能帮忙?
最佳答案
更新到最新的 firebaseui 2.6.1
npm 安装 firebaseui@2.6.1
或
npm 安装 firebaseui@latest
或npm install firebaseui@latest --保存
关于javascript - firebaseui.js 未捕获类型错误 : Cannot read property 'call' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48681631/
您好,下面是我在 AWS 中创建启用了弹性 IP 的实例的模板。但是我不确定我哪里出错了。我已经通过在线 json 验证器验证了 json,仍然面临问题请帮忙 { "AWSTemplateForm
标题有点乱,但已经说明了一切。我想在一个属性的属性上有一个属性观察器: class A { var b: B init() { b = B() } fu
假设我的一个 Controller 中有这样的方法: [Route("api/Products")] public IQueryable GetProducts() { return db.P
这有效: // @flow import React, {Component} from 'react'; type Props = {}; class Delete extends Componen
我有一个 ViewModelBase 类,我在其中为 INotifyPropertyChanged 接口(interface)定义了 RaisePropertyChanged 方法。大多数 MVVM
我创建了类: class StorageBase { public Queue Slices {get;set;} } 和 wpf 自定义控件,它具有 StorageBase 类型的依赖属性
我的 java 应用程序问题是 log4j2 系统日志不是写在 'local1.log' 中而是'消息'。我的/etc/rsyslog.conf 在/etc/rsyslog.conf 中配置为 'lo
为什么需要在对象中使用 this.property = property ?它是用来定义对象的“外部世界”的属性吗? function Person(property) { this.property
摘要: 这个问题是关于属性的继承与从彼此继承属性的类的内部和外部的不同读/写访问相结合。 详细信息: 我有一个类 A 和另一个继承自 A 的类 B。 A 中声明了属性someProperty。我希望该
我正在开发 ASP.NET MVC 应用,设计域模型,使用(测试)新的 EF Code First 功能。 我有一个可能有也可能没有截止日期的事件实体,处理它的最佳方法是什么? 1 个属性: publ
我在配置项目时经常使用它们,但大多数情况下都是按照指示添加 fragment 。我完全不知道哪个文件到底是做什么的。谁能清楚地说明每个文件的用途。 到目前为止我认为 local.properties
在运行 python 文件以使用 rasa nlu 训练文件时,我在命令提示符下收到此错误 我目前正在使用 Windows 10 rasa_core==0.8.2 rasa_nlu==0.11.4 p
我在这方面遇到了一些麻烦,尽管我已经搜索了答案,但还是找不到。 为了使用 AsyncAppender,我看到了很多不同的 log4j 配置,无论如何,它们都与 .properties 配置文件无关。
我正在编写一个 Python 类,并使用 @property 装饰器为该类创建属性。 我在文档中没有找到太多关于这个装饰器的信息,但是从我可以从 Stack Overflow 和我的 Python l
在 gradle 任务中,我可以创建这样的路径: System.env.FOLDER_PATH + '/subFolder' 但我想在我的 gradle.properties 中设置它,所以它会像 s
如何在属性文件的 log4j2 中创建键值对? 我知道在 log4j 版本 1 中它是这样完成的: log4j.appender.x.additionalFields={'key': 'value'}
我想通了 struct PropertyTest { @property int x() { return val; } @property void x( int newVal )
我有 REST (Jersey) webservice,它利用了一些编码/解码到/来自 XML 的数据对象。数据对象位于 webservice war 所依赖的单独项目/jar 中。 我使用 MOXy
我正在创建一个 LinkedList 类: function LinkedList(){ ... 有什么区别: this.addNode = function(data){
关于语义的快速问题:) 如果我正在编写一个协议(protocol),这是首选: // (a) @protocol MyProtocol @property (nonatomic, copy) NSSe
我是一名优秀的程序员,十分优秀!