Commit graph

106 commits

Author SHA1 Message Date
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
9cd4848ce8 Database::get_token 2024-02-10 12:25:46 +01:00
3c5bff0237 trait bound 2024-02-10 12:11:36 +01:00
d4639c3152 beginnings of SqliteDatabase 2024-02-10 12:06:53 +01:00
0006004db1 Add API error type 2024-02-10 10:49:36 +00:00
32e99b155c Implement dummy /api_login 2024-02-10 10:46:13 +00:00
2447786c81 Impl Deserialize for Password, UserToken 2024-02-10 10:45:55 +00:00
8ce85262be Remove nonsensical DebugSecret implementation 2024-02-10 10:45:55 +00:00
a5a55ad69a README: mention updater server override 2024-02-10 10:44:42 +00:00
63cdc0713d Allow deserializing secrets 2024-02-10 10:44:42 +00:00
6bfda3f16b log {create,verify}_user_token 2024-02-10 11:20:35 +01:00
9f08d698c3 Add serde 2024-02-10 10:18:12 +00:00
be0e778f80 Set up tracing-error 2024-02-10 10:13:44 +00:00
ec9b0993bc Move axum stuff to separate module 2024-02-10 10:13:44 +00:00
6a1be899f7 verify_user_token 2024-02-10 11:11:46 +01:00
6e70220222 use SecretString for password and user token 2024-02-10 11:10:58 +01:00
3f7a1b3e2f Start axum, add tls-check route 2024-02-10 10:04:58 +00:00
6ba03b79be authenticator skeleton 2024-02-10 11:01:02 +01:00
bde8d3da15 Add dependencies, set up tracing 2024-02-10 09:53:28 +00:00