在 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"})
我有一个问题,假设我有一个网站 (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"})