Den*_*ell 5 firebase firebase-authentication
我真的无法在任何地方找到这些信息。实际上,我找到了一个地方,每个 db 调用都在一个 js 脚本中。
有人可以澄清一下我是否应该运行这个:
var config = {
apiKey: "AAAPPPIIIIKKKEEEYYYYY",
authDomain: "test-db.firebaseapp.com",
databaseURL: "https://test-db.firebaseio.com",
storageBucket: "test-db.appspot.com"
};
firebase.initializeApp(config);
Run Code Online (Sandbox Code Playgroud)
在我网站的每一页上?或者甚至只是将它放入一个 js 文件并调用该文件?如何在页面之间传递初始化的应用程序?我没有使用 Angular 或 react 或 node.js。我只想将它与直接的 Java 脚本一起使用?这不可能吗?
如果我打电话:
<script>
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
console.log('User!!')
} else {
console.log('Not User!!')
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
在不调用我的 firebase.js 的页面上,前 5 行初始化应用程序,然后我得到“非用户”。我不敢相信他们会希望我在每个页面上初始化应用程序..
所以我找到了答案..
Here is how you would track the Auth state across all your pages:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sample FirebaseUI App</title>
<!-- *******************************************************************************************
* TODO(DEVELOPER): Paste the initialization snippet from:
* Firebase Console > Overview > Add Firebase to your web app. *
***************************************************************************************** -->
<script type="text/javascript">
initApp = function() {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
var displayName = user.displayName;
var email = user.email;
var emailVerified = user.emailVerified;
var photoURL = user.photoURL;
var uid = user.uid;
var phoneNumber = user.phoneNumber;
var 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()
});
</script>
</head>
<body>
<h1>Welcome to My Awesome App</h1>
<div id="sign-in-status"></div>
<div id="sign-in"></div>
<div id="account-details"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在这里,他们最后说“这是您在“””“”“所有”“”“””页面上跟踪身份验证状态的方法。我花了一段时间但终于找到了答案。显然他们确实希望您在每个页面上初始化应用程序。嗯嗯
| 归档时间: |
|
| 查看次数: |
9820 次 |
| 最近记录: |