0

为每个用户保留小后端数据的最简单方法是什么?

我正在开发一个程序,该程序将为每个用户随机选择一个单词字符串,而我刚刚开始决定如何构建它。尽管选择是随机的,但我希望它们是持久的——不一定如果用户第二天回来,但至少通过可能是 20 分钟的会话。这在前端完全是微不足道的,但随机选择必须发生在 Node 后端(因为用户不知道它是什么),并且在他们发出下一个请求时无法更改。出于这些目的,我们假设用户具有足够的技术知识来查看源代码或打开开发工具,但不担心有人入侵。

我已经知道如何将数据存储在数据库(Mongo 或 SQL)中,但这对于一个单词来说似乎有点矫枉过正。我已经知道如何使用用户/密码或使用 OAuth 登录用户,但这似乎又有点矫枉过正,因为数据并不是真正私有的,不应该需要登录。此外,这对用户来说也是额外的麻烦。我正在考虑使用 Firebase 对匿名用户进行身份验证,但我想知道我的后端是否有一种更简单/更快的方法来识别我正在处理的低安全性用户,只是为了与第一个用户的一个词进行交互,和第二个用户的不同词。

我应该使用 Firebase 匿名用户登录吗?有什么简单的我没想到的吗?谢谢!

4

1 回答 1

1

您可能正在寻找类似Set-CookieHTTP 标头的内容。例如,如果您使用节点“http”模块:

var http = require('http')
var cookie = require('cookie') // npm install if you need to

// Server set up code
const server = http.createServer((request, response) => {
    //Gets called on each http request to your server

    var randomString = yourRandomStringGenerator();
    var cookies = cookie.parse(request.headers.cookie);
    if (cookies.myCookie) {
        // already there, do nothing
    } else {
        response.setHeader('Set-Cookie',`myCookie=${randomString}`)
    }
    // Your other server routing etc.
}

如果您希望它们持续超过单个会话,则此标头还接受一个Max-Ageand参数,但如果未设置,则 cookie 将自动成为会话 cookie。请参阅MDN上的文档ExpiresExpiresSet-Cookie

于 2017-10-13T16:09:50.737 回答