From 7662ce328211fc2a938611d8a44288216e3a8f60 Mon Sep 17 00:00:00 2001 From: Jia Yi Date: Fri, 15 Dec 2023 22:55:33 +0800 Subject: [PATCH 1/2] use newer versions of jsonwebtoken, headers, rustls, base64 and rsa --- Cargo.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 9fa90a7..9751127 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,21 +14,21 @@ repository = "https://github.com/cheetah-games/jsonwebtoken-google" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -jsonwebtoken = "8.0.1" +jsonwebtoken = "9.2.0" serde = { version = "1.0", features = ["derive"] } reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls"] } -headers = "0.3.1" +headers = "0.3.9" tokio = "1.0" httpmock = { version = "0.6.2", optional = true } -rustls = { version = "0.20.2" } -base64 = { version = "0.13.0", optional = true } +rustls = { version = "0.22.1" } +base64 = { version = "0.21.5", optional = true } thiserror = "1.0.30" -rsa = "0.8.2" +rsa = "0.9.6" rand = "0.8.5" [dev-dependencies] httpmock = { version = "0.6.2" } -base64 = { version = "0.13.0" } +base64 = { version = "0.21.5" } [features] test-helper = ["httpmock", "base64"] From 53824b1fa0d55628514b6b996a56aea4b070436e Mon Sep 17 00:00:00 2001 From: Jia Yi Date: Fri, 15 Dec 2023 23:13:28 +0800 Subject: [PATCH 2/2] fix breaking changes --- src/test_helper/mod.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/test_helper/mod.rs b/src/test_helper/mod.rs index 2956ffa..9fc7571 100644 --- a/src/test_helper/mod.rs +++ b/src/test_helper/mod.rs @@ -1,11 +1,14 @@ use std::ops::Add; use std::time::{Duration, SystemTime, UNIX_EPOCH}; +use base64::Engine; +use base64::engine::general_purpose::URL_SAFE_NO_PAD; use httpmock::MockServer; use jsonwebtoken::{Algorithm, EncodingKey, Header}; use rand::thread_rng; use rsa::pkcs8::EncodePrivateKey; -use rsa::{PublicKeyParts, RsaPrivateKey}; +use rsa::traits::PublicKeyParts; +use rsa::RsaPrivateKey; use serde::{Deserialize, Serialize}; use crate::Parser; @@ -77,8 +80,8 @@ pub fn setup_public_key_server(claims: &TokenClaims) -> (String, MockServer) { .unwrap(); let key = EncodingKey::from_rsa_pem(der.as_bytes()).unwrap(); let token = jsonwebtoken::encode::(&header, claims, &key).unwrap(); - let n = base64::encode_config(private_key.n().to_bytes_be(), base64::URL_SAFE_NO_PAD); - let e = base64::encode_config(private_key.e().to_bytes_be(), base64::URL_SAFE_NO_PAD); + let n = URL_SAFE_NO_PAD.encode(private_key.n().to_bytes_be()); + let e = URL_SAFE_NO_PAD.encode(private_key.e().to_bytes_be()); let resp = format!("{{\"keys\": [{{\"kty\": \"RSA\",\"use\": \"sig\",\"e\": \"{}\",\"n\": \"{}\",\"alg\": \"RS256\",\"kid\": \"{}\"}}]}}", e, n, KID); let server = MockServer::start();