Implement user authentication in the application using Zitadel for both backend and frontend. After successful login, store user details in the database.
Requirements
Backend Integration:
- Use Zitadel for securing API requests following Zitadel's backend example in Go.
- Implement login API to authenticate users and issue tokens using Zitadel.
- Once authenticated, save or update the user's information in the database.
Frontend Integration:
- Implement Zitadel login flow in the frontend using Next.js example.
- On successful login, create a form to capture the user's details (such as name, email, etc.) and display them on the frontend.
User Details Storage:
Extend the user model in the database and add a User structure in the frontend to store the following details:
type User struct {
UserID int `json:"user_id"`
Name string `json:"name"`
Email string `json:"email"`
CreatedAt time.Time `json:"created_at"`
Location string `json:"location"`
Bio string `json:"bio"`
}
Acceptance Criteria:
- Users should be able to log in via Zitadel.
- After login, user details should be stored/updated in the database.
References:
Zitadel Quickstart
Backend Example
Frontend Example
Note
Interested in working on this but don't want to use Zitadel? Alternatively suggest any other authentication methods.
Implement user authentication in the application using Zitadel for both backend and frontend. After successful login, store user details in the database.
Requirements
Backend Integration:
Frontend Integration:
User Details Storage:
Extend the user model in the database and add a User structure in the frontend to store the following details:
Acceptance Criteria:
References:
Zitadel Quickstart
Backend Example
Frontend Example
Note
Interested in working on this but don't want to use Zitadel? Alternatively suggest any other authentication methods.