【问题标题】:How to process Oauth nonces on the server side?如何在服务器端处理 Oauth 随机数?
【发布时间】:2026-01-03 05:35:01
【问题描述】:

我正在服务器端编写 OAuth 协议的提供程序部分,并且我正在研究我需要缓存多少 OAuth 消费者发送的随机数。

根据 twitter 的文档,

Twitter 只允许随机数 您的应用程序使用过一次。 防止重放请求。

问题:我的实现只是简单地将收到的每个 nonce 添加到 memcached 中。但这会占用大量内存空间。理想情况下我应该缓存多少随机数以及多长时间?

【问题讨论】:

    标签: twitter oauth oauth-provider


    【解决方案1】:

    Nonce 只需要对于使用相同时间戳的所有请求都是唯一的。您应该拒绝时间戳早于 5 分钟的请求,因此您只需将 nonce 存储 5 分钟。

    https://www.rfc-editor.org/rfc/rfc5849#section-3.3

    【讨论】: