Reactjs react js中的“记住我”功能
在这里,我必须在react js中实现记住我的功能。成功登录后,我收到jwt令牌,该令牌的有效期为24小时。我将令牌存储在本地存储器中。我在登录屏幕上有一个“记住我”复选框Reactjs react js中的“记住我”功能,reactjs,jwt,Reactjs,Jwt,在这里,我必须在react js中实现记住我的功能。成功登录后,我收到jwt令牌,该令牌的有效期为24小时。我将令牌存储在本地存储器中。我在登录屏幕上有一个“记住我”复选框 const handleSuccessfulLogin =async()=>{ //login api call localStorage.setItem("token",token) //storing the token from the api response local
const handleSuccessfulLogin =async()=>{
//login api call
localStorage.setItem("token",token) //storing the token from the api response
localStorage.setItem("rememberme",rememberMe) //storing the rememberme value(true/false)
}
const handleLogout = ()=>{
localStorage.clear();
}
App.js:
const App = () => {
useEffect(() => {
if (localStorage.getItem("rememberme") == true) {
if (localStorage.getItem("token") != null) {
let token = decodeToken();
if (token.exp < Date.now() / 1000) {
console.log("Refresh the token");
}
}
}
}, []);
return (
<BrowserRouter>
<Switch>
<Route
path="/admin"
render={(props) =>
localStorage.getItem("token") ? (
<AdminLayout {...props} />
) : (
<Redirect from="/admin" to="/auth/login" />
)
}
/>
{/* <Route path="/admin" render={(props) => <AdminLayout {...props} />} /> */}
<Route path="/auth" render={(props) => <AuthLayout {...props} />} />
<Redirect from="/" to="/auth/login" />
</Switch>
</BrowserRouter>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
const-App=()=>{
useffect(()=>{
if(localStorage.getItem(“rememberme”)==true){
if(localStorage.getItem(“令牌”)!=null){
让token=decodeToken();
if(token.exp
{/* } /> */}
} />
);
};
render(,document.getElementById(“根”));
案例1:如果记住我=错误,
->在正常情况下,用户使用凭据登录,然后注销
网站。
->假设用户放弃登录网站,一段时间后如果
用户再次访问时,他将能够访问该网站(如果token尚未访问)
过期)。如何处理
请帮助我记忆我功能的实现。提前感谢。具体说明您需要的帮助。是否存在无法修复的错误?您正在询问如何在输入字段中存储密码@玉山:好的。我已经更新了问题。根据App.js代码,您已经检查了令牌并呈现布局。它不起作用吗?在以下情况下它不起作用:假设我已登录到该网站(未选中“记住我”选项),但忘记注销。。现在,如果我在一段时间后再次访问该网站,它应该被重定向到登录页面,而不是仪表板/管理页面。但这里它不是重定向。。我不明白怎么处理这个案子。