2011-09-28 3 views
7

프로젝트에서 OpenID를 구현할 때의 개념과 이점을 이해하려고합니다. 그리고 저는 Java 개발자이기 때문에 Java 구현의 주류 인 openid4java을 이해하는 데 다소간 동 의감이 있습니다.OpenID Architecture for Java

제 생각에 OpenID는 분산 된 ID를 일관된 방식으로 제공하기위한 표준입니다. 자, 그것이 완전히 (또는 심지어 약간) 부정확하다면, 저를 시정하십시오!

내가 아직 진행 중이라고 가정하면 모든 종류 또는 조직이 MySpace와 같은 OpenID를 사용하고 있습니다. MySpace는 http://www.myspace.com/username과 일치하는 URL로 각 사용자를 식별합니다.

그래서 OpenID는 시스템으로 어떻게 작동합니까? DNS 시스템과 마찬가지로 시스템의 모든 ID가 고유하고 특정 패턴과 일치하는지 확인하고 확인하는 "OpenID 서버"네트워크로 나타납니다. 또는 GUID처럼 MySpace와 같은 각 클라이언트 도메인에 대해 전역 적으로 고유 한 ID를 생성하는 알고리즘 일뿐입니다.

OpenID가 실제로 어떻게 나타 났는지, openid4java와 같은 프레임 워크가 "구현"과 어떤 관련이 있는지 이해하지 못했습니다. (그들의 용도는 무엇입니까?)

답변

3

먼저 OpenID 통신의 두 가지 측면, 즉 공급자와 소비자가 있습니다. 소비자는 OpenID를 사용하여 인증을 시도하는 응용 프로그램이며 공급자는 인증 요청을 보내는 서버입니다.

각 공급자에는 인증 요청을 허용하는 소위 Endpoint-url이 있습니다. OpenID 제공 업체를 지원할 때 미리 URL을 알아야합니다. 먼저 주어진 openId에 대한 엔드 포인트가 무엇인지 알아 내고 해당 제공자와 메시지를 교환해야합니다. 이것은 모두 openid4java ConsumerManager에 싸여 있습니다.

그런 다음 인증이 발생합니다. 사용자가 공급자의 URL로 리디렉션합니다. 사용자가 자신의 계정을 사용하여 로그인해야한다는 것을 확인한 후 (로그인해야 함) 공급자가 다시 사용자에게 리디렉션 한 다음 (다른 요청을 통해) 사용자에 대한 정보 요청

+0

감사합니다. @ 보자! OpenSSO와 같은 SSO 프레임 워크에서 openid4java와 어떻게 작동합니까? 그곳에있는 "분업"은 무엇입니까? – IAmYourFaja

+0

솔직히 말해서 - 나도 몰라 :) – Bozho

+0

발견 된 [this] (http://www.alleged.org.uk/pdc/2007/08/13.html) 기사. SSO 및/또는 OpenID에 대한 경험이 이미 있습니다. 나에게, 그것은 의미의 전체 무리를 만들지는 않겠지 만, 나는 또 다른 연구 노력을 위해 저축 할 것이다 ;-) ~ 당신의 대답을 다시 한번 감사드립니다. – IAmYourFaja