Fix example API client
This commit is contained in:
@@ -2,11 +2,13 @@ use clap::Parser;
|
|||||||
use jwt_simple::algorithms::HS256Key;
|
use jwt_simple::algorithms::HS256Key;
|
||||||
use jwt_simple::prelude::{Clock, Duration, JWTClaims, MACLike};
|
use jwt_simple::prelude::{Clock, Duration, JWTClaims, MACLike};
|
||||||
use matrixgw_backend::constants;
|
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 matrixgw_backend::utils::rand_utils::rand_string;
|
||||||
use std::ops::Add;
|
use std::ops::Add;
|
||||||
use std::os::unix::prelude::CommandExt;
|
use std::os::unix::prelude::CommandExt;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
/// cURL wrapper to query MatrixGW
|
/// cURL wrapper to query MatrixGW
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
@@ -20,9 +22,9 @@ struct Args {
|
|||||||
#[arg(short('i'), long, env)]
|
#[arg(short('i'), long, env)]
|
||||||
token_id: String,
|
token_id: String,
|
||||||
|
|
||||||
/// User ID
|
/// User email
|
||||||
#[arg(short('u'), long, env)]
|
#[arg(short('u'), long, env)]
|
||||||
user_id: String,
|
user_mail: String,
|
||||||
|
|
||||||
/// Token secret
|
/// Token secret
|
||||||
#[arg(short('t'), long, env)]
|
#[arg(short('t'), long, env)]
|
||||||
@@ -69,11 +71,14 @@ fn main() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let jwt = key
|
let jwt = key
|
||||||
.with_key_id(&format!(
|
.with_key_id(
|
||||||
"{}#{}",
|
&MatrixJWTKID {
|
||||||
urlencoding::encode(&args.user_id),
|
user_email: UserEmail(args.user_mail),
|
||||||
urlencoding::encode(&args.token_id)
|
id: APITokenID::from_str(args.token_id.as_str())
|
||||||
))
|
.expect("Failed to decode token ID!"),
|
||||||
|
}
|
||||||
|
.to_string(),
|
||||||
|
)
|
||||||
.authenticate(claims)
|
.authenticate(claims)
|
||||||
.expect("Failed to sign JWT!");
|
.expect("Failed to sign JWT!");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user