Missing nonce in token

Request description

Bonjour, je viens de passer la version 5.3.3 de simplicité et j’ai une erreur “|http://a3918b79105f:8080||ERROR|system|com.simplicite.webapp.servlets.OAuth2Servlet|doGet||Event: Missing nonce in token”

Alors que je n’ai rien changé à mes paramètres de configuration et que en version 5.2.3 je n’avais pas de problèmes

Technical information

Instance /health

[Platform]
Status=OK
Version=5.3.2
BuiltOn=2023-05-10 15:12
Git=5.3/d1403e06e37cb0b8ec9bda97b9cfad25c1140c18
Encoding=UTF-8
EndpointIP=172.17.0.4
EndpointURL=http://a3918b79105f:8080
TimeZone=Europe/Paris
SystemDate=2023-05-16 17:44:52

[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=14.4
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.6.0
DBDate=2023-05-16 17:44:52
DBDateOffset=0
DBPatchLevel=5;P03;f0cd9df74d8ccfc4210cf555a02758a2
UsingBLOBs=true

Simplicité logs

2023-05-16 17:20:42,814|SIMPLICITE|ERROR||http://a3918b79105f:8080||ERROR|system|com.simplicite.webapp.servlets.OAuth2Servlet|doGet||Event: Missing nonce in token
com.simplicite.util.exceptions.AuthenticationException: Missing nonce in token
at com.simplicite.webapp.servlets.OAuth2Servlet.callback(OAuth2Servlet.java:980)
at com.simplicite.webapp.servlets.OAuth2Servlet.doGet(OAuth2Servlet.java:1122)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:68)
at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at com.simplicite.webapp.filters.HTTPHeadersFilter.doFilter(HTTPHeadersFilter.java:39)
at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:155)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)

C’est bizarre car c’est plutôt l’inverse qui devrait se passer car le check du nonce dans le token JWT avait été mais actif par défaut en 5.3.2 mais a été rendu inactifs par défaut en 5.3.3 car certains IdP ne mettent pas ce claim JWT par défaut.

Pour l’activer ou le désactiver explicitement il faut ajouter "jwt_check_nonce": true|false dans le paramètre système AUTH_PROVIDER

Pardon, j’avais mal lu, vous êtes passé de 5.2 à 5.3 mais pas sur la toute dernière révision 5.3.3.

Dans la révision 5.3.2 le check du nonce est actif par défaut (cf. ma réponse precédente), je vous suggère donc d’upgrader en 5.3.3 (et en attendant vous pouvez mettre "jwt_check_nonce": false dans le param système AUTH_PROVIDER)

Bonjour,

Parfait merci en effet une fois le “jwt_check_nonce”: false ajouté il n’y a plus de problèmes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

C’est ajouté dans la doc

1 Like