Commit graph

99 commits

Author SHA1 Message Date
Xiretza c7ed275138 Implement constructors for ServerPadlockGenerator/UserServerKeyGenerator 2024-02-10 12:53:06 +00:00
Xiretza d37c09d8d9 Add more instrument macros 2024-02-10 12:51:53 +00:00
Xiretza 5bdf8d0f2d Add newtype for padlock generation secret 2024-02-10 12:50:25 +00:00
Xiretza 3657d83bd1 UserAuthenticator: propagate token creation errors 2024-02-10 12:40:33 +00:00
deneb 51865c365c distinguish invalid token from database error 2024-02-10 13:39:10 +01:00
Xiretza e56c7525e2 Rename Authenticator to UserAuthenticator 2024-02-10 12:35:30 +00:00
Xiretza ffd3a95076 Simplify user token generation 2024-02-10 12:33:05 +00:00
deneb 8c478ace92 fix db connection 2024-02-10 13:31:23 +01:00
Xiretza 0a5ab5a199 Add /generate-user-server-key-2 prototype 2024-02-10 12:28:13 +00:00
Xiretza f42c7109fb /api_login: use UserToken 2024-02-10 12:28:13 +00:00
Xiretza fbab2494eb Add ServerPadlockGenerator, UserServerKeyGenerator prototypes 2024-02-10 12:28:12 +00:00
Xiretza 578c4e237f Allow converting AuthenticationError to ApiError 2024-02-10 12:27:26 +00:00
Xiretza ac7f03db15 Add AuthenticationError enum 2024-02-10 12:27:25 +00:00
Xiretza e9ae0468b3 Add thiserror crate 2024-02-10 12:25:43 +00:00
deneb be6e2cb6cd add last_used to user_tokens table 2024-02-10 13:18:08 +01:00
deneb 26bdc4c742 basic implementation of verify_user_token 2024-02-10 13:10:54 +01:00
deneb 2a1b6bd8ae generate token and save in database 2024-02-10 13:07:36 +01:00
Xiretza 62390aa0ad Return Result from Authenticator::verify_user_token() 2024-02-10 11:57:09 +00:00
Xiretza 97ed869230 Pass username to Authenticator::verify_user_token() 2024-02-10 11:57:09 +00:00
Xiretza dbcd963bb1 Add base64, time crates 2024-02-10 11:57:09 +00:00
Xiretza c8daa312bf Add hmac, md-5 crates 2024-02-10 11:57:09 +00:00
Xiretza 34a7d57507 Add UserServerKey, ServerPadlock, ServerHash types 2024-02-10 11:57:09 +00:00
deneb d195147f35 make Authenticator non-generic 2024-02-10 12:56:35 +01:00
deneb 399ed56b74 move secrets to secrets.rs 2024-02-10 12:32:01 +01:00
deneb e4aa6c1909 impl From<String> for {Password,UserToken} 2024-02-10 12:30:04 +01:00
deneb 9cd4848ce8 Database::get_token 2024-02-10 12:25:46 +01:00
deneb 3c5bff0237 trait bound 2024-02-10 12:11:36 +01:00
deneb d4639c3152 beginnings of SqliteDatabase 2024-02-10 12:06:53 +01:00
Xiretza 0006004db1 Add API error type 2024-02-10 10:49:36 +00:00
Xiretza 32e99b155c Implement dummy /api_login 2024-02-10 10:46:13 +00:00
Xiretza 2447786c81 Impl Deserialize for Password, UserToken 2024-02-10 10:45:55 +00:00
Xiretza 8ce85262be Remove nonsensical DebugSecret implementation 2024-02-10 10:45:55 +00:00
Xiretza a5a55ad69a README: mention updater server override 2024-02-10 10:44:42 +00:00
Xiretza 63cdc0713d Allow deserializing secrets 2024-02-10 10:44:42 +00:00
deneb 6bfda3f16b log {create,verify}_user_token 2024-02-10 11:20:35 +01:00
Xiretza 9f08d698c3 Add serde 2024-02-10 10:18:12 +00:00
Xiretza be0e778f80 Set up tracing-error 2024-02-10 10:13:44 +00:00
Xiretza ec9b0993bc Move axum stuff to separate module 2024-02-10 10:13:44 +00:00
deneb 6a1be899f7 verify_user_token 2024-02-10 11:11:46 +01:00
deneb 6e70220222 use SecretString for password and user token 2024-02-10 11:10:58 +01:00
Xiretza 3f7a1b3e2f Start axum, add tls-check route 2024-02-10 10:04:58 +00:00
deneb 6ba03b79be authenticator skeleton 2024-02-10 11:01:02 +01:00
Xiretza bde8d3da15 Add dependencies, set up tracing 2024-02-10 09:53:28 +00:00
Xiretza 0adbf28b5c Add clippy configuration 2024-02-10 09:20:44 +00:00
Xiretza 5370126e2c Add cargo project scaffold 2024-02-09 20:22:29 +00:00
Xiretza a018a8b371 Add license 2024-02-09 20:22:03 +00:00
Xiretza 244b8ee8ef Add .editorconfig 2024-02-09 20:21:31 +00:00
Xiretza 691099499b Add README.md 2024-02-09 20:21:27 +00:00
Xiretza 4c6831b1e8 initial empty commit 2024-02-09 19:29:43 +00:00