你如何实现多个同时登录?

How do you implement multiple simultaneous logins?

我构建了一个 API,它根据访问令牌对请求进行身份验证。这些令牌将在大约 30 分钟后过期,之后必须发送刷新令牌或用户必须重新进行身份验证才能获得新的访问令牌。 我将令牌存储在数据库中,如下所示: user_id |选择器 | access_token | refresh_token | generated_at 存储令牌的哈希值。 那么,如何实现多登录呢? 我是将现有令牌也发送到新设备还是创建新令牌并将设备 ID 之类的内容存储在数据库中?

您不应在数据库中存储任何会话信息。如果客户端请求没有正确解释请求所需的所有信息,则说明您没有遵循无状态约束,这意味着您没有执行 REST。

正确的做法是让令牌本身有时间戳或过期时间。显然,该信息必须由服务器签名。查看此库以获取有关如何执行此操作的示例:http://pythonhosted.org/itsdangerous/