2010-12-06 1 views
2

저는 지금까지 사용해온 잰 레인 솔루션을 떠나기 위해 내 응용 프로그램에 OpenId 지원을 위해 DNOA를 사용하려고합니다. 문제는 내가 지금까지 프로필 기반 식별자 (https : //www.google.com/profiles/11223344556677 ...)를 가지고있는 반면 DNOA가 검색 한 식별자는 https://www.google.com/accounts/o8/id?id=xxxxxyyyyyafgsdgfsdhg 인 사용자입니다.DotNetOpenAuth를 사용하여 Google 프로필을 검색하는 방법은 무엇입니까?

프로필 정보는 어떻게 검색합니까? 특성 교환을 통해? 그리고 어떤 속성? 아니면 다른 API가 있습니까? 로그인 페이지에 Google 용 공급자와 Google 프로필 용 다른 공급자가 있으므로 여기있는 사람이 답변을 가지고있는 것을 보았습니다. :)

업데이트 : Google 프로필의 끝 점이 (https : // // 스키마 : www.google.com/profiles/)

그래서는 ... 문제는 이제 Google 프로필 ID 번호 구글 프로필 ID 번호가 "HTTP를 통해 검색되는

답변

3

을 가져 오는 방법을 오히려입니다. openid.net/ax/api/user_id "속성을 사용하십시오.

var fetch = new FetchRequest(); 

fetch.Attributes.AddRequired("http://axschema.org/contact/country/home"); 
fetch.Attributes.AddRequired("http://axschema.org/contact/email"); 
fetch.Attributes.AddRequired("http://axschema.org/namePerson/first"); 
fetch.Attributes.AddRequired("http://axschema.org/namePerson/last"); 
fetch.Attributes.AddRequired("http://axschema.org/pref/language"); 
fetch.Attributes.AddRequired("http://schemas.openid.net/ax/api/user_id"); 

재미있는 것은 내가 이러한 특성의 일부를 생략하면, 내가 다시 API/USER_ID를하지 않는 것입니다, DNOA에서 필요한

로 설정합니다. 그 부분을 이해할 수는 없지만이 시점에서는별로 신경 쓰지 않습니다.

0

Google은 실제로 2 개 (아마 더 많은) openid 공급자 - 계정 및 프로필을 가지고 있습니다. 2 명이 있지만 왜 모든 Google 계정 소유자가 Google 프로필을 갖고 있지 않은지 나는 정말로 알지 못합니다.

둘 사이에는 큰 차이가 있습니다. Google 프로필 openid 식별자는 어디에서나 사용할 수 있습니다. Google 계정 ID가 아닙니다! Google 계정으로 OpenID 제공 업체로 로그인하면 모든 도메인에 대해 다른 ID가 표시됩니다. 그것은 OpenID의 새로운 (옵션, 생각합니다) 기능입니다, 그러나 나는이 순간에 그 이름을 기억하지 못합니다.

나는 Google이 Google 계정 식별자가 어떤 Google 프로필 식별자와 상관 관계가있는 데이터를 제공 할 것이라고는 생각하지 않습니다.

희망이 어떤 식 으로든 도움이됩니다.

+0

계정 ID의 고유성에 좋은 점. 그 외에도 위에서 말한 것처럼 프로필 식별자는 "http://schemas.openid.net/ax/api/user_id"특성을 통해 검색됩니다. – ghallas