@@ -34,7 +34,7 @@ public IActionResult Register([FromBody] User user)
3434 string . IsNullOrEmpty ( user . UserName ) ||
3535 string . IsNullOrEmpty ( user . Password ) )
3636 {
37- return BadRequest ( new { message = "Email, Username and password are required." } ) ;
37+ return BadRequest ( new { message = "Email or Username and password are required." } ) ;
3838 }
3939
4040 var db = _mongoDbService . GetDatabase ( ) ;
@@ -59,17 +59,21 @@ public IActionResult Register([FromBody] User user)
5959 [ HttpPost ( "login" ) ]
6060 public IActionResult Login ( [ FromBody ] LoginRequest loginRequest )
6161 {
62- if ( loginRequest == null || string . IsNullOrEmpty ( loginRequest . UserNameOrEmail ) || string . IsNullOrEmpty ( loginRequest . Password ) )
62+ if ( loginRequest == null ||
63+ string . IsNullOrWhiteSpace ( loginRequest . UserNameOrEmail ) ||
64+ string . IsNullOrWhiteSpace ( loginRequest . Password ) )
6365 {
6466 return BadRequest ( new { message = "Username or email and password are required." } ) ;
6567 }
6668
6769 var db = _mongoDbService . GetDatabase ( ) ;
6870 var usersCollection = db . GetCollection < User > ( "user" ) ;
6971
70- // Find user by username OR email
71- var user = usersCollection . Find ( u =>
72- u . Email == loginRequest . UserNameOrEmail || u . UserName == loginRequest . UserNameOrEmail
72+ var input = loginRequest . UserNameOrEmail . Trim ( ) . ToLower ( ) ;
73+
74+ // Find user by username OR email (case-insensitive)
75+ var user = usersCollection . Find ( u =>
76+ u . Email . ToLower ( ) == input || u . UserName . ToLower ( ) == input
7377 ) . FirstOrDefault ( ) ;
7478
7579 if ( user == null || ! BCrypt . Net . BCrypt . Verify ( loginRequest . Password , user . Password ) )
@@ -80,7 +84,7 @@ public IActionResult Login([FromBody] LoginRequest loginRequest)
8084 // Hide password before sending back
8185 user . Password = null ;
8286
83- // Generate JWT
87+ // Generate JWT token
8488 var token = GenerateJwtToken ( user ) ;
8589
8690 return Ok ( new
0 commit comments