gpt4 book ai didi

javascript - 正确使用 Firebase 身份验证?

转载 作者:行者123 更新时间:2023-12-03 02:23:05 25 4
gpt4 key购买 nike

我正在开发一个nodejs应用程序。目前我有一个登录页面和一个主页,用户登录后应该可以访问它们。

我决定使用 Firebase 提供的 Google 和 Facebook 身份验证。我已经实现了它,但我不确定这是否是正确的方法。 Firebase 还提供了 admin-sdk,我需要使用它吗?

这是我的代码 -登录页面 -

<script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "*****", authDomain: "*****", databaseURL: "*****", projectId: "*****", storageBucket: "*****", messagingSenderId: "*****"
};
firebase.initializeApp(config);
</script>

<script src="https://cdn.firebase.com/libs/firebaseui/2.6.2/firebaseui.js"></script>
<link type="text/css" rel="stylesheet" href="https://cdn.firebase.com/libs/firebaseui/2.6.2/firebaseui.css" />
<script type="text/javascript">
// FirebaseUI config.
var uiConfig = {
signInSuccessUrl: '/home',
signInOptions: [
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.FacebookAuthProvider.PROVIDER_ID,
],
tosUrl: '/terms-of-use'
};

var ui = new firebaseui.auth.AuthUI(firebase.auth());
ui.start('#firebaseui-auth-container', uiConfig);
</script>
<script>
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
window.location.replace("/home");
} else {

}
}, function (error) {
console.log(error);
});
</script>

主页-

<script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "*****", authDomain: "*****", databaseURL: "*****", projectId: "*****", storageBucket: "*****", messagingSenderId: "*****"
};
firebase.initializeApp(config);
</script>

<script>
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
// User is signed in.
} else {
window.location.replace("/");
}
}, function (error) {
console.log(error);
});

var signOutButton = document.getElementById("sign-out-btn");
signOutButton.addEventListener("click", function () {
firebase.auth().signOut().then(function () {
// Sign-out successful.
}).catch(function (error) {
// An error happened.
});
});
</script>

基本上,我无法弄清楚在应用程序中放置 firebase 的位置以及我是否以最佳方式使用它。这里有很多配置,而我必须编写的代码却很少,这也让我有点不舒服。请任何人解释一下应该使用 firebase auth 或指向正确的方向。谢谢。

最佳答案

getting started with the Admin SDK documentation说:

The Admin SDK lets you interact with Firebase from privileged environments...

特权环境是您可以控制的,例如您的笔记本电脑/台式机、用于托管内容的服务器或项目的云功能。如果这是您要与应用的常规用户共享的网页,那么您不应该使用 Admin SDK。

顶部的配置只是一堆属性,允许各种 Firebase SDK 在 Google 服务器上找到您的项目。将这些内容暴露给普通客户端并不是安全漏洞,事实上,这是允许他们访问您的应用程序后端所必需的。

您共享的代码看起来不错。如果您不确定该方法,您可能会发现首先采用 Firebase codelab for web developers 会更容易。 ,它将引导您完成使用 Firebase 构建聊天应用程序。

关于javascript - 正确使用 Firebase 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com