mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 08:25:16 +00:00
Can register a new key
This commit is contained in:
@ -12,7 +12,7 @@ use crate::data::admin::NewAdminGeneralSettings;
|
||||
use crate::data::base_request_handler::BaseRequestHandler;
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::data::webauthn_config::get_wan;
|
||||
use crate::helpers::{admin_access_token_helper, admin_account_helper, admin_key_registration_challenges_helper};
|
||||
use crate::helpers::{admin_access_token_helper, admin_account_helper, admin_account_key_helper, admin_key_registration_challenges_helper};
|
||||
use crate::routes::RequestResult;
|
||||
use crate::utils::date_utils::time;
|
||||
|
||||
@ -103,4 +103,22 @@ pub fn challenge_register_key(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
admin_key_registration_challenges_helper::set(r.admin_id()?, state)?;
|
||||
|
||||
r.set_response(res)
|
||||
}
|
||||
|
||||
/// Register key
|
||||
pub fn register_key(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let name = r.post_string("name")?;
|
||||
|
||||
let creds = r.post_register_public_key_credential("key")?;
|
||||
let state = r.some_or_internal_error(
|
||||
admin_key_registration_challenges_helper::get(r.admin_id()?)?,
|
||||
"No challenge found!",
|
||||
)?;
|
||||
|
||||
let wan = get_wan();
|
||||
let key = wan.register_credential(creds, state, |_| Ok(false))?;
|
||||
|
||||
admin_account_key_helper::add_key(r.admin_id()?, &name, key)?;
|
||||
|
||||
r.ok()
|
||||
}
|
Reference in New Issue
Block a user