Nothing super advanced, subject to changes later of course. Wanted just enough that the frontend could take this and run with it. Changes as follows:
Added a User entity, a new controller for user account management - namely, account creation and login.
Login will drop a JWT cookie into the caller's browser which is used to authenticate with the rest of the endpoints.
Passwords are salted, encrypted, and stored in the db.
The JWT key, password key, and password salt are all stored in the API's appconfig. A dummy app config has been provided for testing.
Been on an integration test kick, so I added a couple. They test creating an account, logging in, getting back a valid token, and also creating an account and then failing to log in.
Nothing super advanced, subject to changes later of course. Wanted just enough that the frontend could take this and run with it. Changes as follows:
What this PR does not do: