我正在尝试为我的网站实施强制登录。我遇到的问题是我找不到办法去做。假设我创建了一个SignIn页面,比如.
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
我完全可以绕过所有的信号。
我想像这样的事
if ( FirebaseUser.getCurrentUser () != null ) {重定向到登录页}
怎么做到的?
谢谢
发布于 2018-05-28 19:26:55
在onAuthStateChanged页面上使用www.example.com/Index侦听器:
firebase.auth().onAuthStateChanged(function(user) {
if (!user) {
window.location.assign('www.example.com/SignIn');
}
...
});但是,这并不是强制执行访问控制的正确方法。您应该通过以下任何一种机制强制在access中签名:
此外,您还可以使用会话cookie来完成此操作,这取决于您的站点体系结构。Firebase现在也提供了薄荷长期会话饼干的能力。
https://stackoverflow.com/questions/50544601
复制相似问题