You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
An invalid control character when using custom user-storage-spi
#9766
The name attribute is not English.
When login on chrome, keycloak saveKEYCLOAK_LOCALE attribute in Cookies with value K710, and then throw UT000173: An invalid control character [213] was present in the cookie value or attribute.
Everything works fine on safari, keycloak saveKEYCLOAK_LOCALE attribute in Cookies with value K.
ERROR STACK:
ERROR [io.undertow.request] (default task-28) UT005023: Exception handling request to /auth/realms/zd/protocol/openid-connect/auth: java.lang.IllegalArgumentException: UT000173: An invalid control character [213] was present in the cookie value or attribute
at io.undertow.core@2.2.5.Final//io.undertow.util.LegacyCookieSupport.isHttpSeparator(LegacyCookieSupport.java:149)
at io.undertow.core@2.2.5.Final//io.undertow.util.Cookies.parseCookie(Cookies.java:299)
at io.undertow.core@2.2.5.Final//io.undertow.util.Cookies.parseRequestCookies(Cookies.java:241)
at io.undertow.core@2.2.5.Final//io.undertow.util.Cookies.parseRequestCookies(Cookies.java:219)
at io.undertow.core@2.2.5.Final//io.undertow.util.Cookies.parseRequestCookies(Cookies.java:210)
at io.undertow.core@2.2.5.Final//io.undertow.server.HttpServerExchange.requestCookies(HttpServerExchange.java:1189)
at io.undertow.core@2.2.5.Final//io.undertow.server.HttpServerExchange.getRequestCookie(HttpServerExchange.java:1170)
at io.undertow.core@2.2.5.Final//io.undertow.server.session.SessionCookieConfig.findSessionId(SessionCookieConfig.java:83)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.spec.SessionCookieConfigImpl.findSessionId(SessionCookieConfigImpl.java:61)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.session.CodecSessionConfig.findSessionId(CodecSessionConfig.java:59)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.spec.ServletContextImpl$ServletContextSessionConfig.findSessionId(ServletContextImpl.java:1251)
at io.undertow.core@2.2.5.Final//io.undertow.server.session.InMemorySessionManager.getSession(InMemorySessionManager.java:221)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.spec.ServletContextImpl.getSession(ServletContextImpl.java:874)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.spec.ServletContextImpl.getSession(ServletContextImpl.java:964)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:69)
at io.undertow.core@2.2.5.Final//io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.core@2.2.5.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.core@2.2.5.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.core@2.2.5.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.core@2.2.5.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow@23.0.2.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet@2.2.5.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.core@2.2.5.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
at io.undertow.core@2.2.5.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at org.jboss.xnio@3.8.4.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
at java.base/java.lang.Thread.run(Thread.java:829)
I checked ASCII table, 213 meanings Lowercase dot less i. But my cookie does not contain any invalid character, the only difference between chrome and safari is KEYCLOAK_LOCALE.
I guess keycloak set wrong user locale, Please Help~
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
My environment:
I'm using custom user class, extends
AbstractUserAdapter:The name attribute is not English.
When login on chrome, keycloak save
KEYCLOAK_LOCALEattribute in Cookies with valueK710, and then throwUT000173: An invalid control character [213] was present in the cookie value or attribute.Everything works fine on safari, keycloak save
KEYCLOAK_LOCALEattribute in Cookies with valueK.ERROR STACK:
I checked ASCII table,
213meaningsLowercase dot less i. But my cookie does not contain any invalid character, the only difference between chrome and safari isKEYCLOAK_LOCALE.I guess keycloak set wrong user locale, Please Help~
All reactions