https://github.com/timwis/couchdb-password-reset
Password reset implementation for CouchDB
https://github.com/timwis/couchdb-password-reset
Last synced: about 2 months ago
JSON representation
Password reset implementation for CouchDB
- Host: GitHub
- URL: https://github.com/timwis/couchdb-password-reset
- Owner: timwis
- Created: 2016-11-22T10:58:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-11-22T10:59:17.000Z (over 8 years ago)
- Last Synced: 2025-01-25T07:11:38.112Z (3 months ago)
- Language: JavaScript
- Size: 3.91 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CouchDB Password Reset
Password reset implementation for CouchDB. **Work in progress**## Usage
```javascript
const http = require('http')
const jsonBody = require('body/json')
const PasswordReset = require('couchdb-password-reset')
const Templates = reqiure('couchdb-password-reset/templates')// Optionally use included templates by providing them basic info
const templates = Templates({
siteName: 'My Site',
constructResetURL: (token) => 'http://mysite.com/password-reset' + token,
moreInfoURL: 'http://mysite.com/about'
})const passwordReset = PasswordReset({
dbURL: 'http://localhost:5984/_users',
postmarkServerToken: 'as0d98fasd0f',
fromEmail: '[email protected]',
resetTokenTemplate: templates.resetToken,
notFoundTemplate: templates.notFound
})http.createServer((req, res) => {
switch (req.url) {
case '/reset/init': return (req, res) => {
jsonBody(req, (err, body) => {
const email = body.email
passwordReset.init(email, (err) => {
if (err) res.statusCode = err.statusCode
res.end()
})
})
}
case '/reset/confirm': return (req, res) => {
jsonBody(req, (err, body) => {
const token = body.token
const password = body.password
passwordReset.confirm(token, password, (err) => {
if (err) res.statusCode = err.statusCode
res.end()
})
})
}
}
}).listen(8080)```