我在使用Firebase Auth时试图解决安全问题。
firebase.auth().onAuthStateChanged(user => {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
我们说我有一个页面React在<Login />
为user
时呈现null
组件,如果<App />
则呈现user
} 不 null
,使用this.state
。
有人可以进入React DevTools并将状态更改为user
以呈现<App />
吗?
知道Firebase提供了Auth ID token,有没有办法保证未经身份验证的用户无法呈现<App />
?
答案 0 :(得分:3)
我会考虑是否有任何内容值得保护,如果他们能够改变用户状态他们将无法做更多,因为我猜你会做基于该数据的其他API调用或渲染视图,因此它们不会呈现不存在的数据。
即使你能够阻止渲染,也没有什么可以阻止有人在源头拖网查看输出的内容,所以如果有一些关键应该是完全无法访问的,那么它可能属于服务器而不是(和devtools应该在生产中以任何方式禁用)