The openid4java [1] library is a very handy set of components that handles openid and oauth for java applications and definitely worth a look before you capitulate in frustration before all that modern openid stuff.
For those of us living and working outside the 7bit-speaking ANSI niche there is one webserver setting to verify: the URIEncoding. For tomcat that would be in /conf/server.xml and should be adjusted to UTF-8:
<Connector port="8080" ... URIEncoding="UTF-8" />
The problem manifests itself as a strange inability to verify obviously succeeded verification requests from the openID provider when extended attributes were requested (such as name and address) which contain non-latin characters:
VerificationResult verification = manager.verify(receivingURL.toString(), openidResp, di); Identifier verified = verification.getVerifiedId();
In the particular case, verified will be null.
In a regular production environment this error would not appear because one has instructed the connector to decode URIs as UTF-8.
Resources
[1] openid4java
http://code.google.com/p/openid4java/