当随机数已被使用时输出的 OAuth 错误代码是什么?
What is the OAuth error code to output when a nonce has already been used?
OAuth 服务器(包括 Open ID Connect 提供商)必须检查客户端请求的 nonce
,如果指定了一个,以确保在过去 5 分钟内没有使用过相同的请求。
所有这些都是有道理的,但我的问题很简单, 如果服务器 return 在 ?error=...
中发现随机数已被使用,它会做什么?
我在网络、RFC 和一些 SDK 代码中进行了十几次搜索,但我无法找到 return 错误所在以及代码内容。
随机数是为了防止对提供者生成的令牌的客户端进行重放攻击。 Client 将 nonce 发送给 Provider,以便 Provider 可以将其包含在令牌中。这意味着客户需要跟踪它产生的随机数,而不是提供者。事实上,OpenID Connect 规范甚至在 http://openid.net/specs/openid-connect-core-1_0.html#IDToken:
中说
[other than including it in the token] Authorization Servers SHOULD
perform no other processing on nonce values used
所以这里不需要错误代码,因为提供商 "do" 除了将随机数包含在令牌中之外,不会对随机数进行任何处理。
OAuth 服务器(包括 Open ID Connect 提供商)必须检查客户端请求的 nonce
,如果指定了一个,以确保在过去 5 分钟内没有使用过相同的请求。
所有这些都是有道理的,但我的问题很简单, 如果服务器 return 在 ?error=...
中发现随机数已被使用,它会做什么?
我在网络、RFC 和一些 SDK 代码中进行了十几次搜索,但我无法找到 return 错误所在以及代码内容。
随机数是为了防止对提供者生成的令牌的客户端进行重放攻击。 Client 将 nonce 发送给 Provider,以便 Provider 可以将其包含在令牌中。这意味着客户需要跟踪它产生的随机数,而不是提供者。事实上,OpenID Connect 规范甚至在 http://openid.net/specs/openid-connect-core-1_0.html#IDToken:
中说[other than including it in the token] Authorization Servers SHOULD perform no other processing on nonce values used
所以这里不需要错误代码,因为提供商 "do" 除了将随机数包含在令牌中之外,不会对随机数进行任何处理。