...
Each time the service sees a token, it checks to see if exists in the db and is not expired and matches the username
Server
...
Based Security
Access control should be managed at the Server level (instead of the Engine).
- The Engine manages how data is stored. Access controls should not alter the way data is stored
- If the Engine doesn't know about access control, then we can more easily replace the Engine in the future
Open Questions
- Should we require user authentication to invoke managed operations from the command line?
- These operations do not go through the client, so we would have to a) create special JMX hook into the server based authentication scheme or b) create a separate authentication scheme for managed operations.
- How should we hash passwords?
- Do we need a master serverKey hash? How is this generated and where is it stored?
- Do we need salt per user?
- Which hash algorithm should we use?
- Do we need to associate a fingerprint (ip address, etc) with each AccessToken?
- How would we get this info server side? Does the client need to pass it along when logging in?
...