在 reactjs 和 react-native 应用程序中使用 OAuth 的困惑

Confusion in using OAuth in reactjs and react-native app

我有一个问题,假设我有一个网站 (reactjs) 和应用程序 (react-native) 都使用 OAuth facebook 登录。我应该将 facebook 提供的访问令牌保存在我的数据库中吗?如果应该,当用户在网站上使用 facebook 登录然后再次使用应用程序登录时,访问令牌会发生什么情况?

这是否意味着访问令牌将被新登录覆盖?对于 OAuth 集成的良好实践,您还有其他建议吗?

连续2次登录的OAuth令牌不同。我仍然会将它们存储在数据库中,但不会像 1:n 那样与用户机器人建立 1:1 关系。这意味着每个用户都可以分配多个 OAuth 令牌。

在 OAuth 中,您还可以获得令牌的过期时间。您也可以存储那个并在需要时清理 table。

For mongoDB 再次直接在答案中以获得更好的可读性: 您可以这样设计您的用户集合:

{
    "_id": 42,
    "username": "jeger",
    "token": [
        {"value": "abc1234", "expiration": ...}
        {"value": "bca4321", "expiration": ...}
    ]
}

并在令牌验证后搜索用户到 facebook

collection.find({"token.value": "abc1234"})