2010-04-18 3 views
2

python-openid를 사용하여 python 기반 사이트와 OpenID를 성공적으로 연결합니다. 그것은 Google과 잘 작동하며 Yahoo! 하지만 야후! Attribute Exchange가 작동하지 않는 것 같습니다. 나는 이메일 주소 만 얻는다. 이름, 성 및 국가는 항상 비어 있습니다. 나는 야후! 계정 (그 이메일 주소로)은 성 (firstname)과 성 (lastname)이 정의되어 있습니다. 내가 this answer을 발견 검색Yahoo! OpenID는 Attribute Exchange 정보를 포함하지 않습니다 (python-openid 사용)

'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', 

하지만 난 PHP 프레임 워크와 "계산"의 사용에 익숙하지 않다 :

나는 정상적인 오픈 ID들 사이에 이러한 매개 변수를 사용합니다. python-openid 프레임 워크에는 그런 것이 없습니다.

답변

2

결코 늦지 않을수록 좋습니다. 나는 Net :: OpenID :: Consumer 패키지를 사용하여 Perl에서이 똑같은 것을 테스트하고 있었으며 유사한 문제가 있었다. 나는 firstname과 lastname을 야후에서 사용할 수 없다는 것을 처음 발견했다. 대신 axschema type http://axschema.org/namePerson을 가리키는 또 다른 유형을 정의해야하며 미디어 이미지도 요청할 수 있지만 이름과 성은 작동하지 않는다.

yahoo의 openid 속성 교환에 대한 설명서는 여기에 있습니다. (IMHO이지만, 동시에 유형을 정의하고 올바른 스키마 값을 가리키는 방법은 개발자에게 달려 있습니다.) http://developer.yahoo.com/blogs/ydn/posts/2009/12/yahoo_openid_now_with_attribute_exchange/ .

, 당신은 요청할 수있는 값은 LASTNAME 및 langauge 국가, 이메일, 이름, 더 나은 여기에 문서화 된 곳, 구글 반대로 : 차이점을 감안할 때 http://code.google.com/apis/accounts/docs/OpenID.html

, 다른 수익을 제공하기 위해 신중한 수 있습니다 나열된 각 제공 업체의 URL 필자는 아직 테스트하지 않았기 때문에 MyOpenID의 속성을 나열하지 않았습니다.

관련 문제