I'm using python-openid to successfully connect my python based site with OpenID. It works great with Google and it works with Yahoo! but with Yahoo! the Attribute Exchange doesn't seem to work. I only ever get the email address. firstname, lastname and country is always blank. I know the Yahoo! account (by that email address) has a firstname and lastname defined.
I use these parameters amongst the normal OpenID ones:
'openid.ns.ax':'http://openid.net/srv/ax/1.0',
'openid.ax.mode':'fetch_request',
'openid.ax.required':'firstname,lastname,email,country',
'openid.ax.type.firstname':'http://axschema.org/namePerson/first',
'openid.ax.type.lastname':'http://axschema.org/namePerson/last',
'openid.ax.type.email':'http://axschema.org/contact/email',
'openid.ax.type.country':'http://axschema.org/contact/country/home',
Searching I found this answer but I'm not familiar with the PHP framework and its use of "counts". There is no such thing in the python-openid framework.