我正在寻找一种更好的方法来解决我的问题。我在登录表单上记得我的功能。用户单击“记住我”框,“我的API”向我发送令牌。
我的问题是,当用户返回我的网站时,存储此令牌并再次对其进行身份验证的最佳方法是什么?
我以为
请给我任何可能对我有帮助的建议。
我将document.cookie与这样的工厂代码一起使用:
创建一个cookie(例如,这个cookie在一年后过期):
app.factory('$remember', function() { return function(name, values) { var cookie = name + '='; cookie += values + ';'; var date = new Date(); date.setDate(date.getDate() + 365); cookie += 'expires=' + date.toString() + ';'; document.cookie = cookie; } });
该工厂删除cookie:
app.factory('$forget', function() { return function(name) { var cookie = name + '=;'; cookie += 'expires=' + (new Date()).toString() + ';'; document.cookie = cookie; } });
然后,每当用户成功使用$ remember登录缓存时,密钥:
$remember('my_cookie_name', response.user._id);
并在登录用户时始终检查cookie是否在那里,否则请使用标准登录名并将其保存到他们的cookie中。如果未启用“记住我”功能,请忘记document.cookie