OAuth2从数据库中删除访问令牌

时间:2016-09-11 06:39:23

标签: mysql node.js authentication oauth-2.0 access-token

我正在尝试为支持移动,桌面和网络应用的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作业吗?

2 个答案:

答案 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)

是的,您应该定期运行删除过期访问令牌,刷新令牌和授权码的程序。