2009-06-23 6 views
5

Google openid 식별자에 문제가 있습니다. 간단한 asp.net mvc 프로젝트에서 dotnetopenauth 라이브러리 (dotnetopenid의 후속)를 사용하고 있습니다. localhost에서 테스트를하는 동안 Google에서 새로운 식별자를 생성하는 것으로 나타났습니다. 왜 그런가요? localhost와 그냥 일치합니까? 모든 것은 다른 공급자 (야후와 같은)와 비슷해 보입니다.Google에서 localhost에 대한 새로운 openid 식별자를 생성합니까?

답변

6

Google OP는 각 사용자 -RP 영역 조합에 대해 고유하고 "익명"인 청구 식별자를 만듭니다. (은 도메인을 기반으로하지 않고이 아니라 전체 RP 영역이거나 최소한 도메인 이상의 것보다 많음). 포트 번호는 영역 URI의 일부이므로 VS가 경고없이 수행 할 수있는 것처럼 localhost의 사이트가 포트 번호를 때때로 변경하면 소유권이 주장 된 ID가 변경됩니다. 또한 개발자가 claim_id를 개발중인 "admin"으로 설정하도록 사이트를 설정하면 영역이 다르기 때문에 프로덕션에서 올바른 관리자 claim_id가되지 않습니다.

2

Google의 openid는 실제로 per domain입니다 (이봐 요, SO 팀 이니, 좋은 회사에요.). 그것은 실제로 각 openid 제공자의 구현 세부 사항에 달려 있습니다. google은 대부분 다른 점이 있지만 (기술적으로 유효한) 약간 다른 경로가 있습니다. 테스트를 위해 블로거 공급자 (여전히 Google 계정)를 사용해 볼 수도 있습니다.

+2

저는 Google의 OpenID가 도메인 단위가 아니라 실제로 영역 단위라고 생각합니다. –