diff --git a/src/login/login.module.ts b/src/login/login.module.ts
index d7ab1bb84d9ed57786230c2a120fa9ad470b937e..c31f30af502394105a5772fabdcbac2c54e55a6c 100644
--- a/src/login/login.module.ts
+++ b/src/login/login.module.ts
@@ -15,7 +15,7 @@ import { JwtStrategy } from './jwt.strategy';
     PassportModule,
     JwtModule.register({
       secret: jwtConstants.secret,
-      signOptions: { expiresIn: '300s' },
+      signOptions: { expiresIn: '3600s' },
     }),
   ],
   controllers: [LoginController],
diff --git a/src/people/dao/people.dao.ts b/src/people/dao/people.dao.ts
index 477ce5c0d6db28481fb97afb3d514bed17ebcebf..65d909a0886854da504c834fd8f4947d01755258 100644
--- a/src/people/dao/people.dao.ts
+++ b/src/people/dao/people.dao.ts
@@ -25,18 +25,21 @@ export class PeopleDao {
     private readonly _peopleModel: Model<People>,
   ) {}
 
-  login = (email: string, password: string): Promise<People | void> =>
-    new Promise((resolve, reject) => {
-      this._peopleModel.findOne(
-        { email: email, passwordHash: password },
-        (err, value) => {
-          if (err) reject(err.message);
-          if (!value)
-            reject(new NotFoundException('Email or password is incorrect!'));
-          resolve(value);
-        },
-      );
-    });
+  login = async (email: string, password: string): Promise<People | void> => {
+    try {
+      const user = await this._peopleModel.findOne({ email });
+      if (!user) {
+        throw new NotFoundException('Email or password is incorrect!');
+      }
+      const isPasswordCorrect = await bcrypt.compare(password, user.passwordHash);
+      if (!isPasswordCorrect) {
+        throw new NotFoundException('Email or password is incorrect!');
+      }
+      return user;
+    } catch (error) {
+      throw error;
+    }
+  };
 
   find = (): Promise<People[]> =>
     new Promise((resolve, reject) => {
@@ -109,7 +112,7 @@ export class PeopleDao {
     let secret = '';
     for (let index = 0; index < length; index++)
       secret += alphabet.charAt(randomInt(alphabet.length));
-    
+
     const saltOrRounds = 10;
     const hash = await bcrypt.hash(secret, saltOrRounds);
     console.log(secret);