(feat): input validation, improved error handling, and additional security measures.
This commit is contained in:
		
							parent
							
								
									d12f933534
								
							
						
					
					
						commit
						f624792a2f
					
				
					 1 changed files with 11 additions and 2 deletions
				
			
		|  | @ -6,10 +6,16 @@ user_service = UserService() | ||||||
| 
 | 
 | ||||||
| @auth_bp.route('/signup', methods=['POST']) | @auth_bp.route('/signup', methods=['POST']) | ||||||
| def signup(): | def signup(): | ||||||
|     data = request.json |     data = request.get_json() | ||||||
|     username = data.get('username') |     username = data.get('username') | ||||||
|     password = data.get('password') |     password = data.get('password') | ||||||
| 
 | 
 | ||||||
|  |     if not username or not password: | ||||||
|  |         return jsonify({"error": "Username and password are required"}), 400 | ||||||
|  |      | ||||||
|  |     if len(username) < 3 or len(password) < 8: | ||||||
|  |         return jsonify({"error": "Username must be at least 3 characters and password must be at least 8 characters."}), 400 | ||||||
|  | 
 | ||||||
|     try: |     try: | ||||||
|         new_user = user_service.create_user(username, password) |         new_user = user_service.create_user(username, password) | ||||||
|         return jsonify({"message": "User created successfully", "username": new_user.username}), 201 |         return jsonify({"message": "User created successfully", "username": new_user.username}), 201 | ||||||
|  | @ -18,10 +24,13 @@ def signup(): | ||||||
| 
 | 
 | ||||||
| @auth_bp.route('/login', methods=['POST']) | @auth_bp.route('/login', methods=['POST']) | ||||||
| def login(): | def login(): | ||||||
|     data = request.json |     data = request.get_json() | ||||||
|     username = data.get('username') |     username = data.get('username') | ||||||
|     password = data.get('password') |     password = data.get('password') | ||||||
| 
 | 
 | ||||||
|  |     if not username or not password: | ||||||
|  |         return jsonify({"error": "Username and password are required"}), 400 | ||||||
|  | 
 | ||||||
|     try: |     try: | ||||||
|         user = user_service.verify_user(username, password) |         user = user_service.verify_user(username, password) | ||||||
|         return jsonify({"message": "Login successful", "user_id": user.id}), 200 |         return jsonify({"message": "Login successful", "user_id": user.id}), 200 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Blake Ridgway
						Blake Ridgway