improved OpenID parser