Commit graph

74 commits

Author SHA1 Message Date
765953f9a3 Slightly reduce dependency duplication 2024-02-10 22:05:41 +00:00
45589781ba Add cargo-deny config 2024-02-10 22:05:11 +00:00
271714dd37 Appease clippy 2024-02-10 21:48:09 +00:00
011ee55fc0 Update README, example config 2024-02-10 21:46:44 +00:00
f446d67cf4 Implement LDAP authentication backend 2024-02-10 21:44:43 +00:00
8dd283d773 Rename AuthenticationError::Backend to Database 2024-02-10 20:00:28 +00:00
e7a73009ad Update README 2024-02-10 19:08:47 +00:00
045d5394ca Implement /generate-server-padlock-2 2024-02-10 18:59:28 +00:00
8d4b969419 Implement ServerPadlockGenerator 2024-02-10 18:59:21 +00:00
dbf8a34534 Add sha2 crate 2024-02-10 18:49:23 +00:00
9c3905c7a5 server: use default API version if not specified 2024-02-10 18:35:20 +00:00
ccf6d33c89 Make ServerHash a String
Best not to ascribe any special meaning to it.
2024-02-10 18:34:43 +00:00
ffe3aa5232 server: pass state to handlers 2024-02-10 18:34:07 +00:00
7bd354429a Make UserAuthenticator::create_user_token() take &self 2024-02-10 18:32:58 +00:00
13e5a6e18c Create state structs 2024-02-10 13:36:51 +00:00
5772c26537 database: accept connection string as argument 2024-02-10 13:36:50 +00:00
dfa8cada5b use query! and query_as! 2024-02-10 14:31:22 +01:00
d8b79ae852 Update config keys, add port 2024-02-10 13:29:21 +00:00
03bcb4df90 Add command line argument parsing 2024-02-10 13:20:13 +00:00
eeb2735c63 Add clap dependency 2024-02-10 13:14:55 +00:00
aef17a7361 Add config 2024-02-10 13:11:36 +00:00
db604e3eed Add hex crate 2024-02-10 13:11:36 +00:00
2bac280f3b make db only return tokens, not validate 2024-02-10 14:04:35 +01:00
3079bc40a7 oops forgot to actually check the token 2024-02-10 14:03:14 +01:00
9ee43b85ef Add toml crate 2024-02-10 12:54:40 +00:00
c7ed275138 Implement constructors for ServerPadlockGenerator/UserServerKeyGenerator 2024-02-10 12:53:06 +00:00
d37c09d8d9 Add more instrument macros 2024-02-10 12:51:53 +00:00
5bdf8d0f2d Add newtype for padlock generation secret 2024-02-10 12:50:25 +00:00
3657d83bd1 UserAuthenticator: propagate token creation errors 2024-02-10 12:40:33 +00:00
51865c365c distinguish invalid token from database error 2024-02-10 13:39:10 +01:00
e56c7525e2 Rename Authenticator to UserAuthenticator 2024-02-10 12:35:30 +00:00
ffd3a95076 Simplify user token generation 2024-02-10 12:33:05 +00:00
8c478ace92 fix db connection 2024-02-10 13:31:23 +01:00
0a5ab5a199 Add /generate-user-server-key-2 prototype 2024-02-10 12:28:13 +00:00
f42c7109fb /api_login: use UserToken 2024-02-10 12:28:13 +00:00
fbab2494eb Add ServerPadlockGenerator, UserServerKeyGenerator prototypes 2024-02-10 12:28:12 +00:00
578c4e237f Allow converting AuthenticationError to ApiError 2024-02-10 12:27:26 +00:00
ac7f03db15 Add AuthenticationError enum 2024-02-10 12:27:25 +00:00
e9ae0468b3 Add thiserror crate 2024-02-10 12:25:43 +00:00
be6e2cb6cd add last_used to user_tokens table 2024-02-10 13:18:08 +01:00
26bdc4c742 basic implementation of verify_user_token 2024-02-10 13:10:54 +01:00
2a1b6bd8ae generate token and save in database 2024-02-10 13:07:36 +01:00
62390aa0ad Return Result from Authenticator::verify_user_token() 2024-02-10 11:57:09 +00:00
97ed869230 Pass username to Authenticator::verify_user_token() 2024-02-10 11:57:09 +00:00
dbcd963bb1 Add base64, time crates 2024-02-10 11:57:09 +00:00
c8daa312bf Add hmac, md-5 crates 2024-02-10 11:57:09 +00:00
34a7d57507 Add UserServerKey, ServerPadlock, ServerHash types 2024-02-10 11:57:09 +00:00
d195147f35 make Authenticator non-generic 2024-02-10 12:56:35 +01:00
399ed56b74 move secrets to secrets.rs 2024-02-10 12:32:01 +01:00
e4aa6c1909 impl From<String> for {Password,UserToken} 2024-02-10 12:30:04 +01:00