Регистрация пользователя CouchApp
Я создаю автономное приложение couchdb. Они называются couchapps. Идея состоит в том, что сама база данных обслуживается на порту 80 и возвращает HTML и работает как фактический веб-сайт. Это очень мощная идея, и я полностью удивлен этой новой концепцией, что ваш код живет внутри вашей базы данных.
Но у меня возникли проблемы с регистрацией пользователя. Один, встроенный в couchdb, позволяет устанавливать файлы cookie и позволяет легко подключить его к вашему веб-сайту. Но есть несколько довольно важных вещей, которые не хватает моему приложению, чтобы сказать, что у него есть "правильная" система регистрации пользователей.
-
Нет подтверждения регистрации. Не отправляется электронное письмо. Это означает, что каждый может спамить вашу базу данных _users
и создавать как можно больше новых пользователей.
-
Если пользователь забывает свой пароль, нет возможности помочь им восстановить его.
Любая идея, как я мог преодолеть эти проблемы, не делая каких-либо хардкорных разработок Erlang на более низком уровне (а не парень Erlang)? Также было бы здорово, если бы кто-нибудь знал, могу ли я использовать OAuth для аутентификации на учетных записях Twitter или GitHub, и они без труда интегрируются с тем, как обрабатываются данные couchdb (внутри validate_doc_update
).
Спасибо
Ответы
Ответ 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.
Надеемся, что эти предложения помогут.