User authentication backend. Allows for registration and confirmation via email, and password resets via email.
Uses JWTs and refresh tokens.
POST /signup
{
"email": "test@test.com",
"name": "test",
"password": "secret"
}POST /confirm?email=test@test.com&code=jd73hjd-sd73h3-kj56d-sdf898
POST /login
{
"email": "test@test.com",
"password": "secret"
}POST /refresh
POST /sendreset
{
"email": "test@test.com"
}POST /reset?email=test@test.com&code=2h48fj-f93jk3d-sdf987-lk6j7
{
"password": "secret"
}POST /logout
-
structure project
-
setup chi-router server and routes
-
setup gorm
-
setup docker-compose for postgres
-
implement signup endpoint
-
implement confirm account endpoint
-
implement login endpoint
-
implement refresh endpoint
-
implement logout endpoint
-
implement reset endpoint
-
catch typed errors, create custom errors, and use approeriate messages
-
cleanup common request/response formats
-
rearchitect for unit testing
-
setup logging