@@ -5,43 +5,88 @@ var User = require('../models/user');
55var verifyToken = require ( '../middleware/verifyToken' ) ;
66var router = express . Router ( ) ;
77
8- router . get ( '/register' , function ( req , res ) {
9- res . redirect ( '/register' )
8+
9+ router . get ( '/register' , function ( req , res ) {
10+ res . redirect ( '/register' ) ;
1011} ) ;
1112
12- router . post ( '/register' , function ( req , res ) {
13- User . register ( new User ( { username : req . body . username , email : req . body . email } ) , req . body . password , function ( err , user ) {
13+ router . post ( '/register' , function ( req , res ) {
14+ var user = new User ( {
15+ username : req . body . username ,
16+ email : req . body . email ,
17+ password : req . body . password11
18+ } ) ;
19+
20+
21+ user . save ( function ( err ) {
1422 if ( err ) {
15- return res . send ( err )
23+
24+ return res . send ( err ) ;
1625 } else {
1726 verifyToken . createVerificationToken ( user , req )
18- }
27+ } ;
28+
1929
2030 passport . authenticate ( 'local' ) ( req , res , function ( ) {
21- res . send ( req . user )
31+ res . send ( req . user ) ;
2232 } ) ;
23- } ) ;
33+ } )
2434} ) ;
2535
26- router . get ( '/login' , function ( req , res ) {
27- res . redirect ( '/login' )
36+
37+ router . get ( '/login' , function ( req , res ) {
38+ res . send ( 'login' ) ;
2839} ) ;
2940
30- router . post ( '/login' , passport . authenticate ( 'local' ) , function ( req , res ) {
31- res . redirect ( '/' )
41+ router . post ( '/login' , function ( req , res , next ) {
42+ passport . authenticate ( 'local' , function ( err , user , info ) {
43+ if ( ! user ) {
44+ return res . redirect ( '/login' ) ;
45+ } ;
46+ req . logIn ( user , function ( err ) {
47+ return res . redirect ( '/' ) ;
48+ } ) ;
49+ } ) ( req , res , next ) ;
50+
3251} ) ;
3352
34- router . get ( '/logout' , function ( req , res ) {
53+ router . get ( '/logout' , function ( req , res ) {
3554 req . logout ( ) ;
3655 res . send ( 'ok' ) ;
3756} ) ;
3857
3958router . get ( "/verify/:token" , function ( req , res , next ) {
4059 var token = req . params . token ;
41- verifyToken . verifyUser ( token , function ( err ) {
60+
61+ verifyToken . verifyUser ( token , function ( err ) {
62+
4263 if ( err ) return res . send ( "verification-failure" ) ;
4364 res . send ( "verification-success" ) ;
4465 } ) ;
4566} ) ;
4667
68+ router . post ( '/changepass' , function ( req , res ) {
69+ if ( req . isAuthenticated ( ) ) {
70+ User . findOne ( { username : req . user . username } , function ( err , user ) {
71+ user . comparePassword ( req . body . oldpass , function ( err , isMatch ) {
72+ if ( isMatch ) {
73+ user . password = req . body . newpass ;
74+ user . save ( ) ;
75+ res . send ( "password changed" ) ;
76+ } else {
77+ res . send ( "incorrect old passowrd" ) ;
78+ }
79+ } )
80+ } ) ;
81+ } ;
82+ } ) ;
83+
84+ router . get ( '/info' , function ( req , res ) {
85+ if ( req . isAuthenticated ( ) ) {
86+ res . send ( req . user . username ) ;
87+ } else {
88+ res . send ( 'not auth' ) ;
89+ }
90+ } )
91+
4792module . exports = router ;
0 commit comments