- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 app.js 看起来像这样:
// Initialize Firebase
const config = {
apiKey: //...
authDomain: //...
databaseURL: //...
storageBucket://...
messagingSenderId: //...
};
firebase.initializeApp(config);
}());
function.googleSignin(){
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithRedirect(provider);
}
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;
// ...
});
但是,现在当我加载页面时,它会自动重定向到谷歌登录(目前,我只希望它们在单击按钮时重定向到登录)。更重要的是,它会无限循环地执行此操作:在我登录后将我重定向到登录页面。
我需要做什么才能使其仅在单击按钮时重定向?并且之后不会自动重定向到谷歌登录?
================================================== ===========================我对网络开发非常陌生,对于如何将谷歌登录集成到我托管在 Firebase 上的应用程序中完全迷失了。我创建了一个带有 Google 登录按钮的弹出窗口。
<div id="id01" class="modal">
<form class="modal-content animate" action="action_page.php">
<div class="imgcontainer">
<span onclick="document.getElementById('id01').style.display='none'" class="close" title="Close Modal">×</span>
</div>
<div class="loginMsg">
<p>hi there!</p>
<p>log in to post and comment on ride share</p>
</div>
<button class="loginBtn loginBtn--facebook">connect with facebook</button>
<button class="loginBtn loginBtn--google">connect with google </button>
</form>
</div>
我试图理解 Firebase instructions ,但我迷路了。我在代码中的什么位置执行这些步骤?例如,我是否包含“var provider = new firebase.auth.GoogleAuthProvider();”在我的index.html 页面的脚本中?在 app.js 中?当然,我需要按钮来重定向到此登录功能,那么我该怎么做呢?
最佳答案
您不能在同一个按钮点击回调中调用signInWithRedirect和getRedirectResult。
通常,您可以执行以下操作:
对于点击处理程序上的按钮,请执行以下操作:
function.googleSignin(){
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithRedirect(provider);
}
在函数之外设置重定向监听器:
firebase.auth().getRedirectResult().then(function(result) {
if (result.user) {
// User just signed in. you can get the result.credential.
// Update your UI, hide the sign in button.
} else if (firebase.auth().currentUser) {
// User already signed in.
// Update your UI, hide the sign in button.
} else {
// No user signed in, update your UI, show the sign in button.
}
});
关于javascript - 谷歌认证死循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42057767/
我的 php/mysql 脚本有问题。它应该只输出 while 循环一次,但我得到了无限循环和无休止的页面。 $query = mysql_query("SELECT * FROM users WHE
我又来了!所以,我正在用 C++ 开发一个 GBC 模拟器,但我遇到了一些问题。首先,我在 VS10 中使用 Qt,到目前为止它运行良好。但是,我有我的 GUI(主窗口)和一些对象(QListWidg
所以这是我正在做的同一个拖放游戏项目,但是我遇到了一个无限循环问题,我想在其中使用 while(backpackLength 0) { document.getElem
我已经花了 3 个小时试图让这段代码工作,但是每当我尝试时我都会陷入循环并且控制台不断循环。我已经尝试了所有方法 - 我创建了一个只返回 i 并重新分配值的函数,但它似乎不起作用。 出于某种原因,每当
我使用 lua 接口(interface)在我的 C# 程序中获得 lua 支持,如果用户提交这样的代码,工作线程将卡住 while true do end 我有一种方法可以检测无限循环是否正在运行,
这个问题在这里已经有了答案: How does a for loop work, specifically for(;;)? (6 个答案) 关闭 7 年前。 虽然我有一些 Java 经验,但下面的
我有问题。我需要让一个程序在后台运行。该程序用于收集数据并将其保存在我的数据库中。 我开始这样做了: func main() { for { doAll() } } 一次从所有
当我在 Internet Explorer 10 中查看代码时,我收到以下错误(它不一定以标准模式呈现,由于页面的服务方式,这超出了我的控制范围)。 http://errors.angularjs.o
我在 servlet 中遇到了一些问题,每次我更改下拉菜单中的选项时,一个不同的值将传递给 servlet,然后它会导致无限循环。当我没有更改下拉列表中的选项(值没有变化)时,没有错误。 这是我的代码
iOS8 中引入了可自动调整大小的表格 View 单元格(WWDC Session 226 What's new in table and collection views)。在我的项目中,我正在尝试
我是一名优秀的程序员,十分优秀!