Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User Accounts #17

Closed
sneilan opened this issue Nov 21, 2023 · 1 comment · Fixed by #29
Closed

User Accounts #17

sneilan opened this issue Nov 21, 2023 · 1 comment · Fixed by #29
Assignees
Labels
enhancement New feature or request

Comments

@sneilan
Copy link
Owner

sneilan commented Nov 21, 2023

Create a user management system so new users can log in, add funds to their account and begin trading.

Users should be saved locally to a sqlite3 database. When server starts up, users will be loaded from the database into memory. Later on, create an admin panel to create users on the fly. Create an interface to be able to swap databases to postgres. Balances are out of scope.

Gateway should be updated to allow authentication with a username and password. API authentication may come later. Higher level systems like main.cpp should not be concerned with authentication. SocketServer may be too low level.

Consider if we need to create JWT tokens and what security exists to prevent users from spoofing websockets.

@sneilan sneilan self-assigned this Nov 21, 2023
@sneilan sneilan added the enhancement New feature or request label Nov 27, 2023
@sneilan
Copy link
Owner Author

sneilan commented Nov 27, 2023

Websockets should be implemented first because they provide many authentication schemas, payload length formatting and they will make schema evolution easier to manage.

@sneilan sneilan linked a pull request Feb 16, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant