Changeset View
Changeset View
Standalone View
Standalone View
services/identity/src/grpc_services/authenticated.rs
Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | ) -> Result<Request<()>, Status> { | ||||
if !valid_token { | if !valid_token { | ||||
return Err(Status::aborted("Bad Credentials")); | return Err(Status::aborted("Bad Credentials")); | ||||
} | } | ||||
Ok(req) | Ok(req) | ||||
} | } | ||||
pub fn get_user_and_device_id<T>( | |||||
request: &Request<T>, | |||||
) -> Result<(String, String), Status> { | |||||
let user_id = get_value(&request, "user_id") | |||||
.ok_or(Status::unauthenticated("Missing user_id field"))?; | |||||
let device_id = get_value(&request, "device_id") | |||||
.ok_or(Status::unauthenticated("Missing device_id field"))?; | |||||
return Ok((user_id, device_id)); | |||||
} | |||||
#[tonic::async_trait] | #[tonic::async_trait] | ||||
impl IdentityClientService for AuthenticatedService { | impl IdentityClientService for AuthenticatedService { | ||||
async fn refresh_user_pre_keys( | async fn refresh_user_pre_keys( | ||||
&self, | &self, | ||||
request: Request<RefreshUserPreKeysRequest>, | request: Request<RefreshUserPreKeysRequest>, | ||||
) -> Result<Response<Empty>, Status> { | ) -> Result<Response<Empty>, Status> { | ||||
let user_id = get_value(&request, "user_id") | let (user_id, device_id) = get_user_and_device_id(&request)?; | ||||
.ok_or(Status::unauthenticated("Missing user_id field"))?; | |||||
let device_id = get_value(&request, "device_id") | |||||
.ok_or(Status::unauthenticated("Missing device_id field"))?; | |||||
let message = request.into_inner(); | let message = request.into_inner(); | ||||
debug!("Refreshing prekeys for user: {}", user_id); | debug!("Refreshing prekeys for user: {}", user_id); | ||||
let content_keys = message | let content_keys = message | ||||
.new_content_pre_keys | .new_content_pre_keys | ||||
.ok_or(Status::invalid_argument("Missing content keys"))?; | .ok_or(Status::invalid_argument("Missing content keys"))?; | ||||
let notif_keys = message | let notif_keys = message | ||||
Show All 27 Lines |