I have a react application running with a spring boot backend. authentication is done using Auth0, and we use auth0s universal login panel. This has been without problems until now. Suddenly we discovered that authentication on iOS doesn't work. The backend returns an error stating that

"java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986"

This error only appears when using iOS. Anyone face a similar issue with auth0 and iOS?

1 Answers

user48003 On

Found a solution. Turns out one of my fetch requests had the | character in the header, which was causing Tomcat to return the 400. Fixed by enclosing the fetch url in the encodeURI() method. I guess the other browsers where doing this by default.