13

スタンドアロンのcouchdbアプリケーションを構築しています。これらはcouchappsと呼ばれます。データベース自体がポート80で提供され、HTMLを返し、実際のWebサイトとして機能するという考え方です。これは非常に強力なアイデアであり、コードをデータベース内に配置するというこの新しい概念には完全に驚いています。

しかし、ユーザー登録に問題があります。couchdbに組み込まれているものを使用すると、Cookieを設定でき、Webサイトに簡単に接続できます。しかし、「適切な」ユーザー登録システムを備えていると言うために、私のアプリに必要ないくつかの非常に重要なことが欠けています。

  1. サインアップの確認はありません。メールは送信されず、キャプチャは表示されません。これは、誰でも_usersデータベースにスパムを送り、好きなだけ新しいユーザーを作成できることを意味します。

  2. ユーザーがパスワードを忘れた場合、パスワードを回復するのに役立つ機能はありません。

下位レベル(Erlangの男ではない)でハードコアなErlang開発を行わずに、これらの問題をどのように克服できるかについてのアイデアはありますか?validate_doc_updateまた、OAuthを使用してTwitterまたはGitHubアカウントに対して認証を行い、それをcouchdbデータの処理方法(関数内)と見かけ上統合できるかどうかを誰かが知っていれば素晴らしいと思います。

ありがとうございました

4

1 に答える 1

12

組み込みのユーザーデータベースは機能しますが、説明するワークフローにはお勧めしません。その他のオプションは次のとおりです。

ブラウザID

BrowserIDを使用することを強くお勧めします。IrisCouchは、ここでcouchdbへのプラグインを提供しています。

https://github.com/iriscouch/browserid_couchdb

これにより、通常の登録ワークフローが処理されます。

さらに一歩進んで、ユーザーに「かなり匿名」にしたい場合は、「Mingle」と呼ばれるこのcouchappの例に従うことができます。

https://github.com/thedod/Mingle

Twitterの統合

Max Ogdenの「DataCouch」プロジェクトはTwitter経由でログインしていますが、それを機能させるためにいくつかのノード外部プロセッサを使用しています。ここを参照してください:

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


この投稿が示唆しているように、私はあなたが純粋にCouchでoauthを使用できるとは思いません:

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

したがって、そこに到達するのに最も近いのは、Datacouchが行ったことに従うことです。

これらの提案がお役に立てば幸いです。

于 2011-12-01T17:27:28.857 に答える