-
Notifications
You must be signed in to change notification settings - Fork 0
Labels
Description
Project Name
User authentication system implementation
Project Description
This feature is implementing a simple username/password-token system. The password must be Argon2 hashed for authentication and the session token must be provided within 1 minute to connect to the server. If the requirements are not met, the WebSocket connection will be closed by the server.
Success Criteria
- If the
authTypeisPASSWD, the server MUST check the username-password pair store in the database.- The authentication MUST succeed if they match and MUST NOT if they don't.
- If the
authTypeisTOKEN, the server MUST check if the client token matches with the username, then create a new token and compare to the provided client token.- The authentication MUST succees if the created token matches the provided token and MUST NOT if they don't.
- If the credentials are valid, the server MUST generate a session token and returns it to the client.
- If the
authTypewasPASSWD, the server MUST return it with a client token.
- If the
- If the credentails are NOT valid, the server MUST require a password authentication from that Machine ID/IP
Estimated Timeline
2 Weeks - 1 Month
Key Stakeholders
Dependencies
- Bouncy Castle for Argon2 Hash
Risks and Mitigation
No response