Skip to content

Commit

Permalink
chore: bump base64 dependency to 0.21.5
Browse files Browse the repository at this point in the history
  • Loading branch information
cassie-rust committed Nov 22, 2023
1 parent 44dfa9b commit 8848fe7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Expand Up @@ -44,7 +44,7 @@ anyhow = "1.0.66"
async-trait = "0.1.58"
axum = { version = "0.6.13", default-features = false }
axum-sessions = "0.5.0"
base64 = "0.13.1"
base64 = "0.21.5"
bollard = "0.15.0"
bytes = "1.3.0"
cargo_metadata = "0.18.1"
Expand Down
23 changes: 15 additions & 8 deletions common/src/backends/auth.rs
Expand Up @@ -458,6 +458,7 @@ impl<B> VerifyClaim for tonic::Request<B> {
#[cfg(test)]
mod tests {
use axum::{routing::get, Extension, Router};
use base64::Engine;
use http::{Request, StatusCode};
use hyper::{body, Body};
use jsonwebtoken::EncodingKey;
Expand All @@ -472,6 +473,12 @@ mod tests {

use super::{JwtAuthenticationLayer, ScopedLayer};

const BASE64_URL_SAFE_ENGINE: base64::engine::GeneralPurpose =
base64::engine::GeneralPurpose::new(
&base64::alphabet::URL_SAFE,
base64::engine::general_purpose::NO_PAD,
);

#[test]
fn to_token_and_back() {
let mut claim = Claim::new(
Expand Down Expand Up @@ -610,14 +617,14 @@ mod tests {
let token = claim.into_token(&encoding_key).unwrap();

let (header, rest) = token.split_once('.').unwrap();
let header = base64::decode_config(header, base64::URL_SAFE_NO_PAD).unwrap();
let header = BASE64_URL_SAFE_ENGINE.decode(header).unwrap();
let mut header: serde_json::Map<String, serde_json::Value> =
serde_json::from_slice(&header).unwrap();

header["alg"] = json!("HS256");

let header = serde_json::to_vec(&header).unwrap();
let header = base64::encode_config(header, base64::URL_SAFE_NO_PAD);
let header = BASE64_URL_SAFE_ENGINE.encode(header);

let (claim, _sig) = rest.split_once('.').unwrap();

Expand All @@ -630,7 +637,7 @@ mod tests {
&hmac::Key::new(hmac::HMAC_SHA256, pair.public_key().as_ref()),
msg.as_bytes(),
);
let sig = base64::encode_config(sig, base64::URL_SAFE_NO_PAD);
let sig = BASE64_URL_SAFE_ENGINE.encode(sig);
let token = format!("{msg}.{sig}");

Claim::from_token(&token, public_key).unwrap();
Expand All @@ -652,15 +659,15 @@ mod tests {
let token = claim.into_token(&encoding_key).unwrap();

let (header, rest) = token.split_once('.').unwrap();
let header = base64::decode_config(header, base64::URL_SAFE_NO_PAD).unwrap();
let header = BASE64_URL_SAFE_ENGINE.decode(header).unwrap();
let (claim, _sig) = rest.split_once('.').unwrap();
let mut header: serde_json::Map<String, serde_json::Value> =
serde_json::from_slice(&header).unwrap();

header["alg"] = json!("none");

let header = serde_json::to_vec(&header).unwrap();
let header = base64::encode_config(header, base64::URL_SAFE_NO_PAD);
let header = BASE64_URL_SAFE_ENGINE.encode(header);

let token = format!("{header}.{claim}.");

Expand Down Expand Up @@ -712,22 +719,22 @@ mod tests {

let (header, rest) = token.split_once('.').unwrap();
let (claim, _sig) = rest.split_once('.').unwrap();
let claim = base64::decode_config(claim, base64::URL_SAFE_NO_PAD).unwrap();
let claim = BASE64_URL_SAFE_ENGINE.decode(claim).unwrap();
let mut claim: serde_json::Map<String, serde_json::Value> =
serde_json::from_slice(&claim).unwrap();

claim["iss"] = json!("clone");

let claim = serde_json::to_vec(&claim).unwrap();
let claim = base64::encode_config(claim, base64::URL_SAFE_NO_PAD);
let claim = BASE64_URL_SAFE_ENGINE.encode(claim);

let msg = format!("{header}.{claim}");

let pair = Ed25519KeyPair::from_pkcs8(doc.as_ref()).unwrap();
let public_key = pair.public_key().as_ref();

let sig = pair.sign(msg.as_bytes());
let sig = base64::encode_config(sig, base64::URL_SAFE_NO_PAD);
let sig = BASE64_URL_SAFE_ENGINE.encode(sig);
let token = format!("{msg}.{sig}");

Claim::from_token(&token, public_key).unwrap();
Expand Down

0 comments on commit 8848fe7

Please sign in to comment.