FrontEnd-Войти с CouchDB - PullRequest
       12

FrontEnd-Войти с CouchDB

2 голосов
/ 13 марта 2012

Каков наилучший подход для разработки веб-приложения с CouchDB, в котором интерфейсные пользователи должны войти в систему [например, форум]? Для этого мне нужен механизм аутентификации для проверки имени пользователя / пароля и сохранения их в сеансе / cookie.

Как я могу понять это в CouchDB? Есть ли способ запустить серверный код прямо на диване? Нужен ли мне дополнительный программный компонент, такой как node.js или php-интерпретатор?

Большое спасибо.

Ответы [ 4 ]

2 голосов
/ 07 июня 2016

Superlogin - это новая инфраструктура входа в NodeJS, которая поддерживает вход в систему CouchDb

Недавно я интегрировал этот новый API аутентификации в одно из моих мобильных приложений, и это было очень легко сделать. Четкая документация и код демо-приложения были отличным началом. Несмотря на то, что код зрелости и тестовый охват только недавно открыты, создается впечатление, что он некоторое время использовался в производстве. Разработчик был очень полезным и отзывчивым.

  • Обширный серверный API и API-интерфейс дополнительного углового клиента.
  • Комплексное демонстрационное приложение.
  • Поддерживает локальное имя пользователя / пароль, сброс пароля, обновление пароля, обновление профиля пользователя.
  • Прикрепите любое количество социальных логинов OAuth (Facebook, Twitter, Google и т. Д.) К учетной записи пользователя. Использует PassportJS , которые поддерживают более 300 плагинов аутентификации.
  • Может интегрировать SendGrid API для проверки электронной почты и отправки уведомлений о других событиях
  • Создает временных длинных и случайных пользователей / паролей CouchDb для каждого сеанса пользователя. так что вы все равно можете выполнять репликацию в PouchDb, используя Basic Auth, напрямую на сервер CouchDb, но со значительно улучшенной безопасностью.
  • 100% без файлов cookie, предотвращение CSRF-атак
  • Быстро и масштабируемо с дополнительным хранилищем сеансов Redis
  • Комплексный набор тестов.

Полностью с открытым исходным кодом и лицензия MIT:

1 голос
/ 23 октября 2014

Теперь вы хотите проверить новый проект Hoodie на http://Hood.ie.

Включает API для управления учетными записями пользователей CouchDb, включая:

// sign up
hoodie.account.signUp('joe@example.com', 'secret');

// sign in
hoodie.account.signIn('joe@example.com', 'secret');

// sign out
hoodie.account.signOut();

// change password
hoodie.account.changePassword('currentpassword', 'newpassword');

// change username
hoodie.account.changeUsername('currentpassword', 'newusername');

// reset password
hoodie.account.resetPassword('joe@example.com');

// destroy account and all its data
hoodie.account.destroy();

// find out who the currently logged in user is (returns undefined if none)
hoodie.account.username;

И события ...

// user has signed up (this also triggers the authenticated event, see below)
hoodie.account.on('signup', function (user) {});

// user has signed in (this also triggers the authenticated event, see below)
hoodie.account.on('signin', function (user) {});

// user has signed out
hoodie.account.on('signout', function (user) {});

// user has re-authenticated after their session timed out (this does _not_ trigger the signin event)
hoodie.account.on('authenticated', function (user) {});

// user's session has timed out. This means the user is still signed in locally, but Hoodie cannot sync remotely, so the user must sign in again
hoodie.account.on('unauthenticated', function (user) {});
0 голосов
/ 26 февраля 2013

Couchdb может справиться с этим для вас. Он будет выполнять аутентификацию на уровне дивана и на уровне базы данных. http://wiki.apache.org/couchdb/Security_Features_Overview

По существу, есть база данных _users, в которой есть все ваши пользователи, и вы можете настроить пользователей в документе _security для защиты базы данных.

Для обеспечения безопасности на уровне документов вы должны играть свою роль. Мне сказали, что это не рекомендуется, и здесь предпочтение отдается базе данных для каждой модели пользователя.

Вы также можете использовать BrowserID (Persona) https://github.com/iriscouch/browserid_couchdb

В Kan.so есть несколько хороших пакетов для создания пользователей из внешнего интерфейса, если вы создаете couchapp и хотели бы управлять пакетами.

0 голосов
/ 13 марта 2012

Хотя у меня нет прямого опыта работы с couchDB, насколько я знаю, что это база данных, это означает, что вам определенно понадобится серверный язык для взаимодействия с ним из браузера. В этом случае возможны варианты Node.js и php (хотя я думаю, что couchdb очень хорошо поддерживает node.js, хотя я могу ошибаться). В любом случае, здесь есть возможная настройка в node.js: http://artem.posterous.com/nodejs-authentication-with-couchdb-and-expres

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...