El servidor de autenticación elige el jti (ID de JWT) para identificar un token. Según OpenID Connect, sección 9 :
ID de JWT. Un identificador único para el token, que se puede utilizar para evitar la reutilización del token. Estos tokens DEBEN ser utilizados solo una vez, a menos que las condiciones para la reutilización sean negociadas entre las partes; Cualquier negociación de este tipo está fuera del alcance de esta especificación.
El nonce es elegido por la aplicación y se pasa como parameter en la solicitud de autenticación.
Valor de cadena utilizado para asociar una sesión del Cliente con un token de ID y para mitigar los ataques de reproducción. El valor se pasa sin modificar desde la solicitud de autenticación al token de ID. Si está presente en el token de ID, los clientes DEBEN verificar que el valor de reclamación de nonce sea igual al valor del parámetro de nonce enviado en la solicitud de autenticación. Si está presente en la solicitud de autenticación, los servidores de autorización DEBEN incluir una reclamación nonce en el token de identificación con el valor de reclamación siendo el valor nonce enviado en la solicitud de autenticación. Los servidores de autorización NO DEBEN realizar ningún otro procesamiento en los valores de nonce utilizados. El valor de nonce es una cadena que distingue entre mayúsculas y minúsculas.
Así que sirven para diferentes propósitos. Y el nonce es anterior a los enlaces JWT en OAuth2 (aunque está muy vagamente definido), y se aplica incluso si utiliza cadenas de token opacas.
Otra la respuesta aquí explica la diferencia entre los parámetros de estado y nonce.