Changeset View
Changeset View
Standalone View
Standalone View
services/identity/src/client_service.rs
Show First 20 Lines • Show All 468 Lines • ▼ Show 20 Lines | let response = WalletLoginResponse { | ||||
user_id: user_id, | user_id: user_id, | ||||
access_token, | access_token, | ||||
}; | }; | ||||
Ok(Response::new(response)) | Ok(Response::new(response)) | ||||
} | } | ||||
async fn delete_user( | async fn delete_user( | ||||
&self, | &self, | ||||
_request: tonic::Request<DeleteUserRequest>, | request: tonic::Request<DeleteUserRequest>, | ||||
) -> Result<tonic::Response<Empty>, tonic::Status> { | ) -> Result<tonic::Response<Empty>, tonic::Status> { | ||||
unimplemented!(); | let message = request.into_inner(); | ||||
let access_token = self | |||||
.client | |||||
.get_access_token_data(message.user_id.clone(), message.device_id_key) | |||||
.await | |||||
.map_err(handle_db_error)?; | |||||
if let Some(token) = access_token { | |||||
if !token.is_valid() || token.access_token != message.access_token { | |||||
return Err(tonic::Status::permission_denied("bad token")); | |||||
} | |||||
self | |||||
.client | |||||
.delete_user(message.user_id) | |||||
.await | |||||
.map_err(handle_db_error)?; | |||||
let response = Empty {}; | |||||
Ok(Response::new(response)) | |||||
} else { | |||||
Err(tonic::Status::permission_denied("bad token")) | |||||
} | |||||
} | } | ||||
async fn generate_nonce( | async fn generate_nonce( | ||||
&self, | &self, | ||||
_request: tonic::Request<Empty>, | _request: tonic::Request<Empty>, | ||||
) -> Result<tonic::Response<GenerateNonceResponse>, tonic::Status> { | ) -> Result<tonic::Response<GenerateNonceResponse>, tonic::Status> { | ||||
let nonce_data = generate_nonce_data(&mut OsRng); | let nonce_data = generate_nonce_data(&mut OsRng); | ||||
match self | match self | ||||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |