admin api: add functions to manage admin api tokens

This commit is contained in:
Alex Auvolat
2025-03-11 15:17:31 +01:00
parent ff6ec62d54
commit d067a40b3f
11 changed files with 319 additions and 38 deletions
+3 -1
View File
@@ -1,3 +1,5 @@
use base64::prelude::*;
use garage_util::crdt::{self, Crdt};
use garage_table::{EmptyKey, Entry, TableSchema};
@@ -76,7 +78,7 @@ impl AdminApiToken {
};
let prefix = hex::encode(&rand::random::<[u8; 12]>()[..]);
let secret = hex::encode(&rand::random::<[u8; 32]>()[..]);
let secret = BASE64_URL_SAFE_NO_PAD.encode(&rand::random::<[u8; 32]>()[..]);
let token = format!("{}.{}", prefix, secret);
let salt = SaltString::generate(&mut OsRng);