我的应用程序实现了LTI,它使用 OAuth HMAC-SHA1 接收签名请求。他们看起来像:
oauth_version:1.0
oauth_nonce:0aaa53c5d8518ahh56203f5eac773023
oauth_timestamp:1497069755
oauth_consumer_key:foo-test
oauth_callback:about:blank
user_id:99
lti_version:LTI-1p0
lti_message_type:basic-lti-launch-request
oauth_signature_method:HMAC-SHA1
oauth_signature:qe5puCiqcU7UjIe/0NZ0oy4M/8c=
该请求只能通过 SSL 发生(我们不实施其他连接选项)。所以我试图确定验证oauth_nonce
. 我相信 nonce 的目的完全是为了防止重放攻击,这已经是 SSL 的一个特性。
存储 nonce 值会为每个用户花费金钱和浪费时间,所以我只想在它有一定价值的情况下这样做。
当通过 SSL 发出请求时,存储 nonces 和拒绝任何重复请求是否有价值?