Mey*_*sam 18 database-design oauth oauth-provider devdefined-oauth
我正在使用DevDefined库实现OAuth提供程序.我想知道是否有任何推荐的数据库结构用于在服务器端存储使用者和令牌数据.对此有任何建议将不胜感激!
Jon*_*der 26
注意:以下答案主要适用于OAuth 1.0
我对DevDefined库一无所知.但这里是我最近使用SQL数据库在最新项目中使用的数据库设计的非技术性描述.
它应该涵盖遵循基本规范所需的一切.我试图把它降到最低限度.
RequestTokens
AccessTokens
消费者(注册第三方应用程序)
UsedNonces
处理nonce对我来说真的是最大的设计问题.OAuth告诉您永远不要让同一个nonce再次使用相同的时间戳.但这将成为一个无限庞大的数据库.我认为大多数供应商至少会偶尔批发一次旧的nonce.
我会定期清除超过5分钟的nonce,这是基于所有时间戳超过5分钟的请求被拒绝的前提.在检查时间戳时,我有点宽容,它们需要是UTC并且不超过5分钟,并且不超过我的服务器时间超过一分钟.