首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FirebaseUi-8月强制登录

FirebaseUi-8月强制登录
EN

Stack Overflow用户
提问于 2018-05-26 16:01:17
回答 1查看 103关注 0票数 3

我正在尝试为我的网站实施强制登录。我遇到的问题是我找不到办法去做。假设我创建了一个SignIn页面,比如.

代码语言:javascript
复制
  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>

..on名为www.example.com/SignIn的页面

如果我访问www.example.com/Index

我完全可以绕过所有的信号。

我想像这样的事

代码语言:javascript
复制
 if ( FirebaseUser.getCurrentUser () != null ) {

重定向到登录页}

怎么做到的?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 19:26:55

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

代码语言:javascript
复制
firebase.auth().onAuthStateChanged(function(user) {
  if (!user) {
    window.location.assign('www.example.com/SignIn');
  }
  ...
});

但是,这并不是强制执行访问控制的正确方法。您应该通过以下任何一种机制强制在access中签名:

  1. 消防安全规则 (只有经过身份验证的用户才能访问某些资源)。
  2. 在返回受限资源之前,使用Firebase将ID令牌传递给后端和验证它

此外,您还可以使用会话cookie来完成此操作,这取决于您的站点体系结构。Firebase现在也提供了薄荷长期会话饼干的能力。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50544601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档