Skip to content

Commit

Permalink
cambio setValidator por setValidatorStrategy que recibe req como prim…
Browse files Browse the repository at this point in the history
…er parámetro

¡Breaking change!
setPasswordChanger también recibe req como primer parámetro
  • Loading branch information
emilioplatzer committed Nov 16, 2016
1 parent ddbabce commit 9156b97
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 14 deletions.
2 changes: 1 addition & 1 deletion LEEME.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ login service for express
[!--lang:*-->

<!-- cucardas -->
![extending](https://img.shields.io/badge/stability-extending-orange.svg)
![stable](https://img.shields.io/badge/stability-stable-brightgreen.svg)
[![npm-version](https://img.shields.io/npm/v/login-plus.svg)](https://npmjs.org/package/login-plus)
[![downloads](https://img.shields.io/npm/dm/login-plus.svg)](https://npmjs.org/package/login-plus)
[![build](https://img.shields.io/travis/codenautas/login-plus/master.svg)](https://travis-ci.org/codenautas/login-plus)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# login-plus
login service for express

![extending](https://img.shields.io/badge/stability-extending-orange.svg)
![stable](https://img.shields.io/badge/stability-stable-brightgreen.svg)
[![npm-version](https://img.shields.io/npm/v/login-plus.svg)](https://npmjs.org/package/login-plus)
[![downloads](https://img.shields.io/npm/dm/login-plus.svg)](https://npmjs.org/package/login-plus)
[![build](https://img.shields.io/travis/codenautas/login-plus/master.svg)](https://travis-ci.org/codenautas/login-plus)
Expand Down
10 changes: 5 additions & 5 deletions example/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,9 @@ MiniTools.readConfig([
}).then(function(client){
console.log("CONECTED TO", actualConfig.db.database);
clientDb=client;
loginPlusManager.setValidator(
function(username, password, done) {
loginPlusManager.setValidatorStrategy(
function(req, username, password, done) {
console.log('validating in req',req.session,req.user);
clientDb.query(
'SELECT "user" as username, active FROM example."users" WHERE "user"=$1 AND pass_md5=$2',
[username, md5(password+username.toLowerCase())]
Expand All @@ -125,9 +126,8 @@ MiniTools.readConfig([
}
);
loginPlusManager.setPasswordChanger(
function(username, oldPassword, newPassword, done) {
console.log('*********** to see ch.pass');
return Promise.resolve().start(function(){
function(req, username, oldPassword, newPassword, done) {
return Promise.resolve().then(function(){
return clientDb.query(
'UPDATE example."users" SET pass_md5=$3 WHERE "user"=$1 AND pass_md5=$2 RETURNING 1 as ok',
[username, md5(oldPassword+username.toLowerCase()), md5(newPassword+username.toLowerCase())]
Expand Down
11 changes: 10 additions & 1 deletion lib/login-plus.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

var loginPlus = {};

var util = require('util');

var connectFlash = require('connect-flash');
var MiniTools = require('mini-tools');
var ensureLoggedIn = require('connect-ensure-login').ensureLoggedIn;
Expand Down Expand Up @@ -219,6 +221,7 @@ loginPlus.Manager.prototype.init = function init(app,opts){
app.get(opts.baseUrl+opts.chPassUrlPath, opts.chPassPageServe);
app.post(opts.baseUrl+opts.chPassUrlPath, function(req,res){
thisManager.passwordChanger(
req,
req.user[opts.userFieldName],
req.body.oldPassword,
req.body.newPassword,
Expand All @@ -239,8 +242,14 @@ loginPlus.Manager.prototype.init = function init(app,opts){
return promiseChain;
};

loginPlus.Manager.prototype.setValidator = function setValidator(validatorStrategy){
loginPlus.Manager.prototype.setValidator = util.deprecate(function setValidator(validatorStrategy){
this.passport.use(new this.LocalStrategy(validatorStrategy));
}, "use setValidatorStrategy");

loginPlus.Manager.prototype.setValidatorStrategy = function setValidatorStrategy(){
var validatorStrategy=arguments[arguments.length>1?1:0];
var opts=arguments.length>1?arguments[0]:{};
this.passport.use(new this.LocalStrategy(changing({passReqToCallback:true},opts), validatorStrategy));
};

loginPlus.Manager.prototype.setPasswordChanger = function setPasswordChanger(passwordChanger){
Expand Down
7 changes: 3 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "login-plus",
"description": "login service for express",
"version": "0.8.10",
"version": "1.0.0",
"author": "Codenautas <codenautas@googlegroups.com>",
"license": "MIT",
"repository": "codenautas/login-plus",
Expand All @@ -20,7 +20,7 @@
"passport-local": "~1.0.0",
"session-file-store": "~0.2.2",

"best-globals": "~0.5.4",
"best-globals": "~0.5.5",
"mini-tools": "~0.3.5"
},
"devDependencies": {
Expand All @@ -39,7 +39,6 @@
"supertest": "~2.0.1",

"ajax-best-promise": "~0.2.1",
"best-promise": "~0.2.4",
"extension-serve-static": "~0.1.6",
"pg-promise-strict": "~0.2.5",
"self-explain": "~0.10.9"
Expand All @@ -60,7 +59,7 @@
"package-version": "0.3.0",
"run-in": "server",
"type": "lib",
"stage": "designing",
"stage": "stable",
"coverage": 100
}
}
4 changes: 2 additions & 2 deletions test/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ function internal(INTERNAL_PORT, spy){
});
var loginPlusManager = new loginPlus.Manager;
loginPlusManager.init(app,opts);
loginPlusManager.setValidator(function(username, password, done){
loginPlusManager.setValidatorStrategy(function(req, username, password, done){
if(username=='prueba' && password=='prueba1'){
if(opts2.userFieldName){
done(null, {userFieldName: 'prueba', userData: 'data-user'});
Expand All @@ -59,7 +59,7 @@ function internal(INTERNAL_PORT, spy){
done('user not found in this test.');
}
});
loginPlusManager.setPasswordChanger(function(username, oldPassword, newPassword, done){
loginPlusManager.setPasswordChanger(function(req, username, oldPassword, newPassword, done){
if(username=='user' && oldPassword=='prueba1' && newPassword=='prueba2'){
spy.globalChPassOk=1;
done(null, true);
Expand Down

0 comments on commit 9156b97

Please sign in to comment.