Подтвердить что ты не робот

Регистрация пользователя CouchApp

Я создаю автономное приложение couchdb. Они называются couchapps. Идея состоит в том, что сама база данных обслуживается на порту 80 и возвращает HTML и работает как фактический веб-сайт. Это очень мощная идея, и я полностью удивлен этой новой концепцией, что ваш код живет внутри вашей базы данных.

Но у меня возникли проблемы с регистрацией пользователя. Один, встроенный в couchdb, позволяет устанавливать файлы cookie и позволяет легко подключить его к вашему веб-сайту. Но есть несколько довольно важных вещей, которые не хватает моему приложению, чтобы сказать, что у него есть "правильная" система регистрации пользователей.

  • Нет подтверждения регистрации. Не отправляется электронное письмо. Это означает, что каждый может спамить вашу базу данных _users и создавать как можно больше новых пользователей.

  • Если пользователь забывает свой пароль, нет возможности помочь им восстановить его.

Любая идея, как я мог преодолеть эти проблемы, не делая каких-либо хардкорных разработок Erlang на более низком уровне (а не парень Erlang)? Также было бы здорово, если бы кто-нибудь знал, могу ли я использовать OAuth для аутентификации на учетных записях Twitter или GitHub, и они без труда интегрируются с тем, как обрабатываются данные couchdb (внутри validate_doc_update).

Спасибо

4b9b3361

Ответ 1

Пока встроенная пользовательская база данных может работать, я бы не рекомендовал ее для описываемого вами рабочего процесса. Вот несколько других опций:

Идентификатор браузера

Я бы рекомендовал использовать BrowserID. IrisCouch предоставил плагин для couchdb здесь:

https://github.com/iriscouch/browserid_couchdb

Это обеспечит нормальный процесс регистрации.

Если вы хотите сделать это еще дальше и у вас есть пользователи "Довольно анонимный", вы можете следовать примеру этого кучаппа под названием "Мингл"

https://github.com/thedod/Mingle

Интеграция с Twitterом

Проект "DataCouch" Max Ogden имеет вход в систему через твиттер, хотя он использует некоторые внешние процессоры Node, чтобы заставить его работать. См. Здесь:

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

Интеграция с Facebook

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

OpenID

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


Я не думаю, что вы можете использовать oauth исключительно с Couch, поскольку это сообщение предполагает:

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

так что ближе всего вы получите то, что сделал Datacouch.

Надеемся, что эти предложения помогут.