gpt4 book ai didi

javascript - FirebaseUi-Auth强制登录

转载 作者:可可西里 更新时间:2023-11-01 13:20:26 28 4
gpt4 key购买 nike

我正在尝试为我的网站实现强制登录。我遇到的问题是我找不到这样做的方法。假设我创建了一个登录页面,例如...

  var uiConfig = {
signInSuccessUrl: '<url-to-redirect-to-on-success>',
signInOptions: [

firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.FacebookAuthProvider.PROVIDER_ID,
firebase.auth.TwitterAuthProvider.PROVIDER_ID,
firebase.auth.GithubAuthProvider.PROVIDER_ID,
firebase.auth.EmailAuthProvider.PROVIDER_ID,
firebase.auth.PhoneAuthProvider.PROVIDER_ID
],

tosUrl: '<your-tos-url>'
};


var ui = new firebaseui.auth.AuthUI(firebase.auth());

ui.start('#firebaseui-auth-container', uiConfig);
</script>

..在名为 www.example.com/SignIn 的页面上

如果我去 www.example.com/Index

我可以完全绕过所有登录。

我想是这样的

 if ( FirebaseUser.getCurrentUser () != null ) {

重定向到登录页面

如何?

谢谢

最佳答案

www.example.com/Index 页面上使用 onAuthStateChanged 监听器:

firebase.auth().onAuthStateChanged(function(user) {
if (!user) {
window.location.assign('www.example.com/SignIn');
}
...
});

但是,这不是实现访问控制的正确方法。您应该通过任一机制强制登录访问:

  1. Firebase security rules (您只能让经过身份验证的用户访问某些资源)。
  2. 通过将 ID token 传递到您的后端和 verifying it在返回受限资源之前使用 Firebase Admin SDK。

您还可以使用 session cookie 来执行此操作,具体取决于您的网站架构。 Firebase 现在,还提供了 mint longer term session cookies 的能力

关于javascript - FirebaseUi-Auth强制登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50544601/

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