From 7c78eb541efa6a5e552d64cef5a6b8adc849bd07 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Tue, 11 Nov 2025 21:24:19 +0100 Subject: [PATCH] Fix example API client --- matrixgw_backend/examples/api_curl.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/matrixgw_backend/examples/api_curl.rs b/matrixgw_backend/examples/api_curl.rs index 3b8b7ff..f776dc8 100644 --- a/matrixgw_backend/examples/api_curl.rs +++ b/matrixgw_backend/examples/api_curl.rs @@ -2,11 +2,13 @@ use clap::Parser; use jwt_simple::algorithms::HS256Key; use jwt_simple::prelude::{Clock, Duration, JWTClaims, MACLike}; use matrixgw_backend::constants; -use matrixgw_backend::extractors::auth_extractor::TokenClaims; +use matrixgw_backend::extractors::auth_extractor::{MatrixJWTKID, TokenClaims}; +use matrixgw_backend::users::{APITokenID, UserEmail}; use matrixgw_backend::utils::rand_utils::rand_string; use std::ops::Add; use std::os::unix::prelude::CommandExt; use std::process::Command; +use std::str::FromStr; /// cURL wrapper to query MatrixGW #[derive(Parser, Debug)] @@ -20,9 +22,9 @@ struct Args { #[arg(short('i'), long, env)] token_id: String, - /// User ID + /// User email #[arg(short('u'), long, env)] - user_id: String, + user_mail: String, /// Token secret #[arg(short('t'), long, env)] @@ -69,11 +71,14 @@ fn main() { }; let jwt = key - .with_key_id(&format!( - "{}#{}", - urlencoding::encode(&args.user_id), - urlencoding::encode(&args.token_id) - )) + .with_key_id( + &MatrixJWTKID { + user_email: UserEmail(args.user_mail), + id: APITokenID::from_str(args.token_id.as_str()) + .expect("Failed to decode token ID!"), + } + .to_string(), + ) .authenticate(claims) .expect("Failed to sign JWT!");