Przeglądaj źródła

Return generic auth error to prevent user enumeration attacks

On invalid user/password error the error message "Invalid email or password" is returned.
Thereby, no information about the existence of the user is given.
tametsi 11 miesięcy temu
rodzic
commit
640a1eeb68
1 zmienionych plików z 5 dodań i 3 usunięć
  1. 5 3
      backend/internal/token.js

+ 5 - 3
backend/internal/token.js

@@ -5,6 +5,8 @@ const authModel  = require('../models/auth');
 const helpers    = require('../lib/helpers');
 const TokenModel = require('../models/token');
 
+const ERROR_MESSAGE_INVALID_AUTH = 'Invalid email or password';
+
 module.exports = {
 
 	/**
@@ -69,15 +71,15 @@ module.exports = {
 													};
 												});
 										} else {
-											throw new error.AuthError('Invalid password');
+											throw new error.AuthError(ERROR_MESSAGE_INVALID_AUTH);
 										}
 									});
 							} else {
-								throw new error.AuthError('No password auth for user');
+								throw new error.AuthError(ERROR_MESSAGE_INVALID_AUTH);
 							}
 						});
 				} else {
-					throw new error.AuthError('No relevant user found');
+					throw new error.AuthError(ERROR_MESSAGE_INVALID_AUTH);
 				}
 			});
 	},