【发布时间】:2015-05-18 07:19:30
【问题描述】:
我们将 Doorkeeper gem 用于 OAuth2。但是,我们的 oauth_access_tokens 表变得太大了。
是否应该自动删除旧的访问令牌?如果是,为什么不删除它们,这可能是一种设置吗?
如果它们没有被自动删除,那么定期清除旧令牌的好策略是什么?
【问题讨论】:
标签: doorkeeper
我们将 Doorkeeper gem 用于 OAuth2。但是,我们的 oauth_access_tokens 表变得太大了。
是否应该自动删除旧的访问令牌?如果是,为什么不删除它们,这可能是一种设置吗?
如果它们没有被自动删除,那么定期清除旧令牌的好策略是什么?
【问题讨论】:
标签: doorkeeper
适合在 2019 谷歌搜索答案的朋友。
将此行添加到您的Rakefile:
Doorkeeper::Rake.load_tasks
它会在你的环境中添加一些任务:
rake doorkeeper:db:cleanup # Removes stale data from doorkeeper related database tables
rake doorkeeper:db:cleanup:expired_grants # Removes expired (TTL passed) access grants
rake doorkeeper:db:cleanup:expired_tokens # Removes expired (TTL passed) access tokens
rake doorkeeper:db:cleanup:revoked_grants # Removes stale access grants
rake doorkeeper:db:cleanup:revoked_tokens # Removes stale access tokens
文档可以找到here
【讨论】:
是否应该自动删除旧的访问令牌?如果是这样,为什么它们没有被删除,这可能是一个设置吗?
据我了解,不会自动删除
如果它们没有被自动删除,那么定期清除旧令牌的好策略是什么?
在我的例子中,我们使用 cron 作业来定期检查数据库。 我们把已经撤销的token和还没有撤销的token都删除了,但是已经有好几个月了(反正这只是一个例子)。 您还可以将令牌的生命周期更改为更长,从而减少生成的令牌数量,但您知道,出于安全原因,不建议这样做。
希望对你有帮助。
【讨论】: