vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit 37b212427c80a1c56db748510ebe6dee4d218b4a
parent 078234d8b3b8524e82a18c802fda6f3bccc6fc9f
Author: BlackDex <black.dex@gmail.com>
Date:   Mon, 16 Mar 2020 16:38:00 +0100

Updated jsonwebtoken

Updated to the latest version of jsonwebtoken.
Some small code changes to match the new versions.

Diffstat:
Msrc/api/admin.rs | 2+-
Msrc/auth.rs | 6+++---
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/api/admin.rs b/src/api/admin.rs @@ -91,7 +91,7 @@ fn post_admin_login(data: Form<LoginForm>, mut cookies: Cookies, ip: ClientIp) - let cookie = Cookie::build(COOKIE_NAME, jwt) .path(admin_path()) - .max_age(chrono::Duration::minutes(20)) + .max_age(time::Duration::minutes(20)) .same_site(SameSite::Strict) .http_only(true) .finish(); diff --git a/src/auth.rs b/src/auth.rs @@ -6,7 +6,7 @@ use chrono::{Duration, Utc}; use once_cell::sync::Lazy; use num_traits::FromPrimitive; -use jsonwebtoken::{self, Algorithm, Header}; +use jsonwebtoken::{self, Algorithm, Header, EncodingKey, DecodingKey}; use serde::de::DeserializeOwned; use serde::ser::Serialize; @@ -32,7 +32,7 @@ static PUBLIC_RSA_KEY: Lazy<Vec<u8>> = Lazy::new(|| match read_file(&CONFIG.publ }); pub fn encode_jwt<T: Serialize>(claims: &T) -> String { - match jsonwebtoken::encode(&JWT_HEADER, claims, &PRIVATE_RSA_KEY) { + match jsonwebtoken::encode(&JWT_HEADER, claims, &EncodingKey::from_rsa_der(&PRIVATE_RSA_KEY)) { Ok(token) => token, Err(e) => panic!("Error encoding jwt {}", e), } @@ -51,7 +51,7 @@ fn decode_jwt<T: DeserializeOwned>(token: &str, issuer: String) -> Result<T, Err let token = token.replace(char::is_whitespace, ""); - jsonwebtoken::decode(&token, &PUBLIC_RSA_KEY, &validation) + jsonwebtoken::decode(&token, &DecodingKey::from_rsa_der(&PUBLIC_RSA_KEY), &validation) .map(|d| d.claims) .map_res("Error decoding JWT") }