我正在尝试为支持移动,桌面和网络应用的REST API实施OAuth2。
我已阅读Chapter 6. Refreshing an Access Token
的Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, October 2012根据RFC,访问令牌和刷新令牌被保存到数据库中,而我正在使用MySQL。
我的问题是OAuth2的哪一点/活动应该删除所有过期的访问令牌和刷新令牌。
我应该为此运行cron作业吗?
答案 0 :(得分:1)
我必须阅读它,虽然对我来说似乎很难
验证服务器上是否已启用MySQL Event Scheduler。如果没有,请启用它。
假设该表被称为"令牌"它有一个名为" expires_at"并且该列上有索引,然后是create a scheduled event,其中包含如下查询:
CREATE EVENT purge_expired_tokens
ON SCHEDULE EVERY 15 MINUTE
DO DELETE FROM token WHERE expires_at < NOW();
从最初定义事件开始每隔15分钟,服务器将在后台运行该查询并清除所有过期的会话。
答案 1 :(得分:0)
是的,您应该定期运行删除过期访问令牌,刷新令牌和授权码的程序。