@@ -35,26 +35,31 @@ passport.deserializeUser((id, done) => {
35
35
* Sign in using Email/Username and Password.
36
36
*/
37
37
passport . use (
38
- new LocalStrategy ( { usernameField : 'email' } , ( email , password , done ) => {
39
- User . findByEmailOrUsername ( email )
40
- . then ( ( user ) => {
38
+ new LocalStrategy (
39
+ { usernameField : 'email' } ,
40
+ async ( email , password , done ) => {
41
+ try {
42
+ const user = await User . findByEmailOrUsername ( email ) ;
43
+
41
44
if ( ! user ) {
42
- done ( null , false , { msg : `Email ${ email } not found.` } ) ;
43
- return ;
45
+ return done ( null , false , { msg : `Email ${ email } not found.` } ) ;
44
46
} else if ( user . banned ) {
45
- done ( null , false , { msg : accountSuspensionMessage } ) ;
46
- return ;
47
+ return done ( null , false , { msg : 'Your account has been suspended.' } ) ;
47
48
}
48
- user . comparePassword ( password ) . then ( ( isMatch ) => {
49
- if ( isMatch ) {
50
- done ( null , user ) ;
51
- } else {
52
- done ( null , false , { msg : 'Invalid email or password.' } ) ;
53
- }
54
- } ) ;
55
- } )
56
- . catch ( ( err ) => done ( null , false , { msg : err } ) ) ;
57
- } )
49
+
50
+ const isMatch = await user . comparePassword ( password ) ;
51
+
52
+ if ( isMatch ) {
53
+ return done ( null , user ) ;
54
+ } else { // eslint-disable-line
55
+ return done ( null , false , { msg : 'Invalid email or password' } ) ;
56
+ }
57
+ } catch ( err ) {
58
+ console . error ( err ) ;
59
+ return done ( null , false , { msg : err } ) ;
60
+ }
61
+ }
62
+ )
58
63
) ;
59
64
60
65
/**
0 commit comments