feat(auth): implement user registration and login with JWT authentication
- Added `bcrypt`, `jsonwebtoken`, and `once_cell` dependencies to manage password hashing and JWT handling. - Created `Claims` struct for JWT claims and implemented token generation in the login route. - Implemented user registration and authentication logic in the `auth` module. - Updated error handling to include validation errors. - Created new routes for user registration and login, and integrated them into the main router. - Added tests for the authentication flow, including registration and login scenarios. - Updated user model to include a password hash field. - Refactored user creation logic to include password validation. - Adjusted feed and user routes to utilize JWT for authentication.
This commit is contained in:
@@ -21,7 +21,7 @@ use crate::{
|
||||
|
||||
#[utoipa::path(
|
||||
post,
|
||||
path = "/thoughts",
|
||||
path = "",
|
||||
request_body = CreateThoughtParams,
|
||||
responses(
|
||||
(status = 201, description = "Thought created", body = ThoughtSchema),
|
||||
@@ -49,7 +49,7 @@ async fn thoughts_post(
|
||||
|
||||
#[utoipa::path(
|
||||
delete,
|
||||
path = "/thoughts/{id}",
|
||||
path = "/{id}",
|
||||
params(
|
||||
("id" = i32, Path, description = "Thought ID")
|
||||
),
|
||||
|
Reference in New Issue
Block a user