即使用户关闭应用程序也如何保持登录状态?仅在用户关闭应用程序之前注销才能登录吗?
答案 0 :(得分:0)
当您关闭应用程序或将其过多地保留在后台时,会话将过期。因此,即使您关闭了应用程序,如果您也要保持用户登录状态,请记住我。为此,最好的方法是将用户凭据保存在本地存储中,并在每次启动应用程序时首先检查用户是否单击了“记住我”。如果是,则从本地存储中获取所需的数据,如果不要求登录,则为确保安全性和一致性,如果用户注销,则应销毁本地存储中的数据。
ngOnInit(){
this.rememberMe = localStorage.getItem("rememberMe");
if(this.rememberMe)
//log in automatically
else
//ask to log in
}
doLogin(){
if(this.rememberMe)//user clicked remember me when logs in
localStorage.setItem("password", this.password);
}
logout(){ //if logs out remove data
localStorage.removeItem("username");
.
.
.
}
希望它可以解决您的问题!
答案 1 :(得分:0)
我将避免不惜一切代价存储用户的密码。这是一种不良的安全做法,更不用说您的应用程序可能不知道他们是否从您的应用程序/会话中带外更改了密码。
如果您使用基于令牌的通用身份验证,则可以使用刷新令牌的概念来保持用户登录。实际上,当用户首次登录时,您还要求刷新令牌。然后,将来可以使用此刷新令牌来获取另一个访问令牌,而无需用户名/密码。有关Auth0的示例实现,请参见this link。那就是我们使用的产品。
此外,您不应该将“刷新令牌”用于基于Web的登录。对于基于Web的登录,用户在公共设备(或其他人的设备)上登录更为常见。因此,在这些情况下让他们保持登录状态可能会使您的用户面临更高的风险。