0

OAuth 服务器(包括 Open ID Connect 提供程序)必须检查客户端请求(nonce如果指定了一个),以确保在过去 5 分钟内没有使用相同的请求。

所有这些都是有道理的,但我的问题很简单,如果服务器?error=...发现 nonce 已被使用,它会返回什么?

我已经在网络、RFC 和一些 SDK 代码中进行了十几个搜索,但我找不到返回错误的位置以及代码是什么。

4

1 回答 1

1

nonce 用于防止对 Provider 生成的令牌的客户端进行重放攻击。客户端将 nonce 发送给 Provider,以便 Provider 可以将其包含在令牌中。这意味着客户端需要跟踪它产生的随机数,而不是提供者。事实上,OpenID Connect 规范甚至在http://openid.net/specs/openid-connect-core-1_0.html#IDToken中说:

[除了包含在令牌中] 授权服务器不应该对使用的 nonce 值执行其他处理

所以这里不需要错误代码,因为提供者除了将它包含在令牌中之外,不会对随机数“做”任何事情。

于 2016-10-28T19:58:10.097 回答