Browse Source

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 tháng trước cách đây
mục cha
commit
640a1eeb68
1 tập tin đã thay đổi với 5 bổ sung3 xóa
  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);
 				}
 			});
 	},