add create token function #52

Merged
phoenix merged 4 commits from add_create_token_function into devel 2025-07-31 01:13:03 +00:00
Showing only changes of commit 661336559d - Show all commits

View File

@@ -80,9 +80,14 @@ mod util {
} }
} }
pub fn create_token(key: &String, message: &String, issuer: &String, audience: &String) -> Result<(String, i64), josekit::JoseError> { pub fn create_token(
let mut header = josekit::jws::JwsHeader::new(); key: &String,
header.set_token_type("JWT"); message: &String,
issuer: &String,
audience: &String,
) -> Result<(String, i64), josekit::JoseError> {
let mut header = josekit::jws::JwsHeader::new();
header.set_token_type("JWT");
let mut payload = josekit::jwt::JwtPayload::new(); let mut payload = josekit::jwt::JwtPayload::new();
payload.set_subject(message); payload.set_subject(message);
@@ -94,8 +99,9 @@ pub fn create_token(key: &String, message: &String, issuer: &String, audience: &
payload.set_issued_at(&util::time_to_std_time(&issued).unwrap()); payload.set_issued_at(&util::time_to_std_time(&issued).unwrap());
payload.set_expires_at(&util::time_to_std_time(&expire).unwrap()); payload.set_expires_at(&util::time_to_std_time(&expire).unwrap());
let signer = josekit::jws::alg::hmac::HmacJwsAlgorithm::Hs256
let signer = josekit::jws::alg::hmac::HmacJwsAlgorithm::Hs256.signer_from_bytes(key.as_bytes()).unwrap(); .signer_from_bytes(key.as_bytes())
.unwrap();
Ok(( Ok((
josekit::jwt::encode_with_signer(&payload, &header, &signer).unwrap(), josekit::jwt::encode_with_signer(&payload, &header, &signer).unwrap(),
(expire - time::OffsetDateTime::UNIX_EPOCH).whole_seconds(), (expire - time::OffsetDateTime::UNIX_EPOCH).whole_seconds(),