2011-12-01 2 views
12

독립 실행 형 couchdb 애플리케이션을 구축 중입니다. 이들은 couchapps라고합니다. 아이디어는 데이터베이스 자체가 포트 80에서 제공되며 HTML을 반환하고 실제 웹 사이트로 작동한다는 것입니다. 이는 매우 강력한 아이디어이며 코드를 데이터베이스 내부에 저장하는이 새로운 개념에 완전히 놀랐습니다.CouchApp 사용자 등록

하지만 사용자 등록에 문제가 있습니다. couchdb에 내장 된 쿠키는 쿠키를 설정할 수있게하여 웹 사이트에 쉽게 연결합니다. 하지만 "적절한"사용자 등록 시스템이 있다고 말하는 데 필요한 내게 필요한 몇 가지 중요한 것들이 있습니다.

  1. 가입 확인은 없습니다. 전자 메일은 전송되지 않으며 captcha도 표시되지 않습니다. 즉, 누구든지 _users 데이터베이스를 스팸하고 원하는만큼 많은 새로운 사용자를 만들 수 있습니다.

  2. 사용자가 암호를 잊어 버린 경우 복구 할 수있는 기능이 없습니다.

낮은 수준 (Erlang 사람이 아닌)에서 하드 코어 얼랭 개발을 수행하지 않고 어떻게 이러한 문제를 극복 할 수 있었는지 생각해보십시오. 트위터 또는 GitHub 계정에 대해 인증하기 위해 OAuth를 사용할 수 있고 couchdb 데이터가 처리되는 방법을 아무렇지도 않게 통합 할 수 있다면 누구든지 알고 있다면 좋을 것입니다 (validate_doc_update 함수 내부).

는 사용자 데이터베이스에 내장 된 작동 할 수 있지만 당신이

답변

11

, 난 당신이 설명하는 워크 플로우를 위해 그것을 권하고 싶지 않다드립니다. 다른 옵션은 다음과 같습니다.

브라우저 ID

브라우저 ID를 사용하는 것이 좋습니다. IrisCouch 여기 CouchDB를하기 위해 플러그인을 제공하고있다 : 이것은 정상적인 등록 워크 플로우 처리됩니다

https://github.com/iriscouch/browserid_couchdb

.

당신이 한 단계 더 걸릴하고 사용자를 원한다면 "상당히 익명", 당신은 "어울려"

https://github.com/thedod/Mingle

트위터 통합

최대이라는 couchapp의 모범을 따를 수 Ogden의 "DataCouch"프로젝트는 일부 Node 외부 프로세서를 사용하여 트위터를 통해 로그인합니다.여기를 참조하십시오 :

https://github.com/maxogden/datacouch/blob/master/processors/auth/twitterauth.js

페이스 북 통합

https://github.com/ocastalabs/CouchDB-Facebook-Authentication

오픈 ID

https://github.com/mcaprari/couchdb-openid


내가하는 당신이 소파와 순수의 OAuth를 사용할 수있는 것 같아요 의이 게시물은 제안 : 그래서

http://bennolan.com/2011/01/11/couchdb-oath.html

당신이 Datacouch이하신 일이 따르고을 얻을 것이다 가장 가까운.

희망 사항이 도움이 되길 바랍니다.

+0

감사합니다. 이것은 내가 우연히 마주 쳤던 거의 모든 재료입니다. 그리고 브라우저가 열릴 때까지 지속되는 쿠키 만료 시간을 가진 또 다른 문제 (Max Odgen와 이야기 한 후)가있는 것 같습니다 ... 이것은 매우 끔찍합니다. 나는 당신의 대답을 받아 들일 것이고 희망적으로 1.2는 이것의 일부를 고칠 것이다. –

+2

1.3의 oauth를 사용할 수 있습니다. –