간만에 OpenID 관련 글하나 써보렵니다. 블로그 주소를 OpenID로 사용하기, 혹은 위임 기능의 동어 반복이지만, OpenID 관점에서 보는 것이 아니라, 일반 블로그관점에서 보는 글입니다.
XFN을 Textcube에 구현해 넣으면서 생각해본 것입니다. 내가 친구로 정한 사람이 내 홈에 방문했을 때, 다른 뭔가를 더 줄 수 있지 않을까? 내가 친구로 정한 사람은 어떻게 확인할 수 있을까? 당연한 결론은 링크를 OpenID로 사용하게 만들고, 그 OpenID로 로그인하게 만드는 것이죠.
기존의 접근은, 오픈아이디를 만들었는데, 이걸로 돌아 다닐 수 있는 사이트는 이러저러한 사이트들이 있고, 그런 사이트에 자신을 구별하는 동일한 방법으로서의 오픈아이디이며, 따라서 왠만하면 블로그 주소로 자신을 구별하는게 어때? 라는 식의 접근이었습니다.
그러나, 반대로 내가 알고 있는 친구는 이 블로그 (혹은 링크)를 소유하고 있는데, 그 친구라는 것을 증명해보라는 접근은 오픈아이디가 정말 필요한 예라고 볼 수 있습니다.
XFN이 분산화되어 있는 SNS를 지원하는데 도움이 되는 포맷 중의 하나입니다. 앞으로 생각이 발전하게 되어 쓸만한 기능으로 발전하게 되면, 오픈아이디에 대한 이런 접근을 UI에서 잘 드러내도록 해보겠습니다.
위 URL은 모두 다른 것을나타내지만, 결국 http://coolengineer.idtail.com/ 을 가져오도록되어있습니다. 일종의 위임(delegation)이 일어나는 것으로 생각할 수 있습니다. (물론 link tag에 의한 위임은 일어나지 않습니다.)
위와같이 로그인시도를 할 경우 RP(Relying Party, Consumer site)에서는 각각을 다른아이디로 인식하게 됩니다. 하지만, IdP 쪽에는같은 아이디로 로그인을 하게 됩니다. 물론 IdP에서도 RP에 어떤 식으로 로그인하고 있는지 #뒤의 정보를 포함한 전체 URL이 전달됩니다. 따라서, 서버쪽 라이브러리가 #뒤의 내용을 무시하고 잘 처리해주어야하는데요, 제가 간단히 테스트한 상황으로, php 라이브러리를 사용하는 idtail.com과 ruby 라이브러리를 사용하는 myid.net은 정상적으로 처리하는것을 보았습니다. java나 .net은 살펴보지 않았습니다. (누가 테스트해서 댓글을 좀.)
이렇게 앞의 'http://'을 떼고, .com 뒤의 # 앞에 '/'을 빼도 되느냐하는 것입니다. 이것은 클라이언트의 URL 정규화 함수의 기능에 들어 있어야하는것입니다. php 라이브러리에서는 예상대로 잘 되는 군요. (누가 다른 클라이언트 라이브러리에서도 테스트해서 댓글을 좀. 부탁합니다.)
세번째 실헝믄 위임주소에서도 가능한가 입니다.
저와 같이 블로그 주소를 오픈아이디로위임하여 사용하는 것에서 실험해볼 수 있습니다.
http://coolengineer.com/#2
잘 됩니다. 즉, RP에서는 다른 오픈아이디로 인식하는 것을 확인하였습니다. 하지만, 제 블로그의 경우에는, 위임을 http://coolengineer.idtail.com/ 에 하기 때문에, IdP 입장에서는 블로그 주소뒤에 #XXX가 어떤 내용인지 알 수가 없더군요. 만약, IdP에서 #을 기반으로하는 기능 확장을 고려한다면, 주소를 위임받아 로그인하는 사람들에게는 어찌할 수 없어보입니다.
정리하자면...
이 기능을 고려하여 사용할 수 있는 것은, IdP의 입장에서는 여러 Persona에 대해서 URL을 부여할 수가 있으며, 각 URL이 다른 오픈아이디로 인식되게 할 수 있다는 것입니다. 또한 사용자도 IdP가 이런 확장을 지원하지 않아도 #XXX를 통해 달라지는 URL을 통해 많은 OpenID를 만들어낼 수가 있다는 것입니다.
재밌어요. 어디에 쓰면 유용할지 생각을 좀 많이 해야 겠네요. ^^; myID.net 에서는 IDP 차원에서 유용한 ID variation 을 제공할까 합니다. 생각하고 있는 재밌는게 많은데요, 한가지만 소개드리겠습니다. 최근에, myid.net 에 새로 추가된 주소록, 그룹 아이디 기능이 있는데요, 재밌는 것은 모두 '관계' 인증이 공통적인 점입니다.
이를테면 제가 coolengieer 님을 제 주소록에 등록하고, 'community-friend' 라는 제 개인그룹에 분류하게 되면, coolengieer 님은 'kayflow.myid.net/list/community-friend' 라는 URL 에 소속된 권한이 부여된 것으로 볼 수 있구요. 이 페이지를 openid 화 시키면, openid 로 쓸 수 있습니다. 물론 myid.net 그룹-멤버쉽 인증기능을 쓸 수도 있지만, 오픈아이디만 지원하는 사이트에서는, 제가 위의 분류로 넣어 드린 분들은 모두 위의 아이디로 로그인이 가능해 지는 것이지요 ^^; 일종의 아이디 공유가 됩니다. 게다가 이 url 이 마음에 안들면, delegation 걸면 되지요.
물론, 아직 제공되는 기능은 아닙니다.
제 개념을 설명하면서, myid를 언급했었습니다. ^^; 아니면, 설명할때 myid가 제 머리속에 있었던지, 둘중 하나이어요.
플러그인으로 가능한 방법을 텍스트 큐브에 도입하여 그룹id를 제공하고자하는 서비스들을 만족시켜가는 방향으로 잡으면 될 것 같습니다. 이 논의는 Textcube 2.0에서..
작년에 쓴 글에서 아파치 사용자 모임이 다시 준비하고 있다는 것을 쓴 적이 있었는데, 6개월만에 오늘(05-16) 오픈합니다.
한 달전 쯤, 운영자이신 정관진씨를 만나서 OpenID를 지원해보는 것은 어떠냐는 말에, 검토하더니 슥슥슥 넣게 되었습니다. 그동안 회원가입없이 운영해왔는데, 스팸 방지 등의 오남용 사례가 있어서 최소한의 가입을 추진하게 되었다고 합니다. 최소한으로 Email 기반으로만 운영하려다가 OpenID 암초(?)를 만난 덕에 몇 일간 고생끝에 지원하게 되었습니다.
하는 김에, 제가 속한 IDtail.com에서 공동가입을 추진해보았고, OpenID 소개 페이지에서 가입페이지로 바로 이동할 수 있게 하였습니다.
온라인 비영리 커뮤니티 중에서는 처음으로 시작하는 경우이고, 오늘 오픈을 통해서 사용자모임이 확대되어 아파치 웹서비스의 정보가 많이 공유되었으면 합니다. 또한 곳곳에 흩어져 있는 아파치관련 소식들이 한 곳에 모이고, 나아가 전문성 있는 사이트로 더 발전하는 계기가 되었으면합니다.
Tracked from Accelerated Fribirdz!2007/05/18 13:50delete
네이버 백과사전에는 "프로그래머"가 등록되어 있다. 컴퓨터 프로그램의 논리나 알고리즘을 설계하고 프로그램을 작성하고 테스트하는 사람. 이라고 요약되어 있으며, 본문에 자세한(?) 설명이 나와있다. 그런데, 본문 맨 마지막 문단에는 당황스러운 문구가 있다. 아니, 우리가 뭘 잘못했다고.. 그간 컴퓨터 분야의 과거를 뒤돌아보면 소프트웨어 개발 프로젝트들은 항상 예상치보다 오랜 시간을 소모하거나, 실패했던 것이 사실이지만 그것이 프로그래머의 탓은 아니지..
질문이 있습니다. 먼저 저는 전문가는 아닙니다.. ^^;
오픈 아이디로 특정 블로그에 로그인 하였을때,
역시 오픈 아이디를 사용하는 다른 유저의 아이디를 클릭 하였을 경우
오픈 아이디를 지원하는 타 블로그로 이동한다고 가정해보겠습니다.
이때 타 블로그에 이동해서 글을 남겨야 할 경우 또 다시 오픈 아이디 로그인
절차를 거쳐야 하는지요? 아니면 기술적으로 지원이 가능한 부분인가요?
다시 오픈아이디로 로그인해야합니다.
블로그간에 이동한다고 하지만, 사실은 전혀 다른 사이트이거든요. 같은 태터툴즈를 쓴다고 하여도 엄연히 신뢰의 문제는 로그인하는 사람이 생각해야만 하기 때문입니다. 여러 사이트를 동시에 지원하는 하나의 사이트와 약간 다른 점이 도메인간의 신뢰 문제입니다.
그러나! 오픈아이디를 지원하는 1.5 이후의 태터툴즈(텍스트큐브)가 설치된 사이트를 신뢰하는 사이트로 놓을 경우 로그인 시도가 자동으로 일어나게 하는 기능은 구현중에 있습니다. (로그인 상태를 이전하는 것이 아닌 로그인 시도입니다. ^^)
방금전 서비의 다락방과 서비의 Photo Gallery에 웹페이지 분석툴인 다음웹인사이드 와 구글 애널리틱스를 설치 하였습니다.다음과 구글에서 계정을 등록하고 분석 스크립트를 내려받은 후 제 블로그와 갤러리의 하단에 삽입 후 페이지를 열어 보았습니다.그랬더니, 제 갤러리는 아래와같은 Fatal error를 내면서 페이지가 안열리더군요..에러 메세지를 보니 syntax error: unrecognized tag: _dwiCatch(); 라고 나타나고..
2. 지난 글에서 단일 사용자 로그인을 수행하는 OpenID의 질문중에 세번째로 인증 정보를 전달할 도메인을 확인하는 과정이 있다고 하였습니다. 인증정보를 확인하기 위한 질문까지 가기위해서 로그인사이트(이하 RP; Relying Party;Consumer site)에서는 OpenID를 접수 받고서, OpenID의 발급자(이하 IdP; ID Provider)에게 페이지를 리다이렉트합니다. 대개 사용하시는 분들은, 아이디는 로그인사이트에 넣지만, 비밀번호는 항상 발급자 홈페이지에 넣기 때문에 안심(?)스러운 광경을 연출되는 것을 보게 됩니다.
물론, 연출만이 아니라 모든 인증이 끝난 뒤에도, 실제로 비밀번호는 RP 사이트에 전달되지 않기 때문에 안심이죠.
3. 이렇게 비밀번호를 확인하고 마지막 단계로, RP 사이트에 대한 "신뢰하는 root url"을 보여주게 되고, 이 사이트가 정말 당신이 로그인하고 있는 사이트가 맞는지 확인하는 작업을 수행합니다. 사이트를 1회만 승인하던, 계속 승인하던간에 IdP에서는
오픈아이디에 관심이 많아서 이것 저것 공부하는 중에 들르게 되었습니다. yahoo.com의 2.0 표준으로 인증하는 것을 사용해보니... 그닥 편리한 점은 모르겠네요 ^^
공부를 하신다니...
그 표준은, RP에서 편의상 제공하기 위한 용도로 사용하려고 하기 위함입니다.
넵 ^^ 회사에서 Open ID 발급 서비스를 만들려고 하고 있습니다. KT 프로젝트를 용역하는 것인데요. 기획을 위한 개념은 대충 잡았지만... 사실 어떤 새로움을 넣고 싶은데 쉽지 않네요. ^^ 혹시, 좋은 아이디어 있으시면 저를 통해서 구현해 보심이 ^^;;