Authentication 什么';Oauth身份验证过程中的nonce函数是什么?

Authentication 什么';Oauth身份验证过程中的nonce函数是什么?,authentication,oauth-2.0,azure-active-directory,Authentication,Oauth 2.0,Azure Active Directory,我正在开发一个软件,其中登录过程是使用Microsoft Azure AD和Oauth2完成的。在此过程中,nonce号码是可选的,成功登录后,我会收到一个有效期为一小时的令牌 我无法理解nonce在这个过程中的作用,我没有使用它。我的身份验证是否因此而不安全?在此过程中添加nonce编号有什么好处?nonce绑定客户端和令牌,从而防止令牌重放攻击 nonce-用于将客户端会话与ID令牌关联并减轻重播攻击的字符串值 考虑一下您的令牌端点和从授权服务器接收令牌响应。作为客户端,如何验证ID令牌不被

我正在开发一个软件,其中登录过程是使用Microsoft Azure AD和Oauth2完成的。在此过程中,nonce号码是可选的,成功登录后,我会收到一个有效期为一小时的令牌


我无法理解nonce在这个过程中的作用,我没有使用它。我的身份验证是否因此而不安全?在此过程中添加nonce编号有什么好处?

nonce绑定客户端和令牌,从而防止令牌重放攻击

nonce-用于将客户端会话与ID令牌关联并减轻重播攻击的字符串值

考虑一下您的令牌端点和从授权服务器接收令牌响应。作为客户端,如何验证ID令牌不被恶意方重播?这就是nonce所服务的

您可以在授权请求中添加此参数。在令牌响应中,您将获得ID令牌。当您验证令牌时,您将验证令牌内部的nonce(JWT声明)

更多来自

此外,根据流类型,nonce可以是一个强制参数。 隐式流和混合流要求使用nonce值


看一看-这回答了你的问题吗?你应该投票结束这个,不需要重复答案,特别是考虑到这是你的答案answer@4c74356b41是的,我会的。唯一的例外是导致对nonce和state进行比较的标题。这就是为什么我添加它作为一个answer@4c74356b41这个问题不是一个重复的问题,只是碰巧一个不同问题的答案也恰好包含这个问题的答案?因为网络不够凌乱