【发布时间】:2015-05-12 06:55:17
【问题描述】:
我正在使用 Ionic 框架创建一个混合移动应用程序。
我需要在 DOM 中保留一些数据,它只有一个视图中的用户名和电子邮件,所以我不需要太多存储空间。我通过名为$cookieStore 的服务将cookies-ngCookies 与Angular 一起使用,无论如何,此服务附加到常规cookie。到目前为止,我知道 cookie 是浏览器提供的存储,但是当应用程序从 AppStore 或 Google Play 下载时呢?
1-) 如果 cookie 是浏览器提供的东西,在这种情况下我不会从浏览器打开应用程序,cookie 会发生什么?
2-) 当您从商店下载应用程序时是否仍然支持 cookie,或者 cookie 仅受浏览器支持?
更新
当您创建应用程序并希望将数据持久保存在 DOM 中时,您会使用什么?喜欢用户信息:头像、姓名、电子邮件?
我的问题是,当我不使用 cookie 时:用户已登录,他能够在 DOM 中看到他的信息,但是一旦他刷新应用程序,他仍然处于登录状态,但所有信息丢失了。
【问题讨论】:
-
Cookies 和本地存储有不同的用途。本地存储用于数据的本地客户端持久性。 Cookies 用于存储在客户端上的数据,每次请求时都会发送到服务器。你需要哪一个?
-
我想我需要 Cookie。我需要它是因为:用户进入应用程序,然后他使用用户名和密码登录,我可以查看显示该信息的位置(电子邮件和用户名),如果用户刷新页面,该信息应该保留在那里在 DOM 中。那么,我正在将用户信息发送到服务器,对吗? @NewDev
-
听起来你也不需要。在 cookie 或本地存储中以明文形式保存密码并不是一个好主意。通常,cookie 用作身份验证令牌(作为在每个请求上发送用户名/密码的替代品)。
-
@NewDev 我正在使用 Firebase,所以我正在发送一个令牌。
-
您在这里有 2 个不同且不相关的问题(应该是 3 个不同的 SO 问题)。 1)应用在某些应用环境中运行时,我可以使用
ngCookies吗? 2)如何在会话/刷新之间保留客户端用户数据? #1在下面回答(我相信正确,但我不确定)。并且 #2 - 本地存储和 cookie 在刷新之间持续存在。事实上,坚持“在 DOM 中”(我假设你的意思是使用element.data())不会在会话中持续存在