This commit is contained in:
@ -1,4 +1,5 @@
|
||||
use base64::URL_SAFE_NO_PAD;
|
||||
use base64::engine::general_purpose::URL_SAFE_NO_PAD as BASE64_URL_SAFE_NO_PAD;
|
||||
use base64::Engine as _;
|
||||
|
||||
use crate::utils::crypt_utils::sha256;
|
||||
|
||||
@ -16,8 +17,7 @@ impl CodeChallenge {
|
||||
match self.code_challenge_method.as_str() {
|
||||
"plain" => code_verifer.eq(&self.code_challenge),
|
||||
"S256" => {
|
||||
let encoded =
|
||||
base64::encode_config(sha256(code_verifer.as_bytes()), URL_SAFE_NO_PAD);
|
||||
let encoded = BASE64_URL_SAFE_NO_PAD.encode(sha256(code_verifer.as_bytes()));
|
||||
|
||||
encoded.eq(&self.code_challenge)
|
||||
}
|
||||
|
@ -2,6 +2,8 @@ use std::io::ErrorKind;
|
||||
|
||||
use aes_gcm::aead::{Aead, OsRng};
|
||||
use aes_gcm::{Aes256Gcm, Key, KeyInit, Nonce};
|
||||
use base64::engine::general_purpose::STANDARD as BASE64_STANDARD;
|
||||
use base64::Engine as _;
|
||||
use rand::Rng;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::Serialize;
|
||||
@ -34,12 +36,12 @@ impl CryptoWrapper {
|
||||
.unwrap();
|
||||
enc.extend_from_slice(&nonce_bytes);
|
||||
|
||||
Ok(base64::encode(enc))
|
||||
Ok(BASE64_STANDARD.encode(enc))
|
||||
}
|
||||
|
||||
/// Decrypt some data previously encrypted using the [`CryptoWrapper::encrypt`] method
|
||||
pub fn decrypt<T: DeserializeOwned>(&self, input: &str) -> Res<T> {
|
||||
let bytes = base64::decode(input)?;
|
||||
let bytes = BASE64_STANDARD.decode(input)?;
|
||||
|
||||
if bytes.len() < NONCE_LEN {
|
||||
return Err(Box::new(std::io::Error::new(
|
||||
|
@ -4,6 +4,10 @@ use jwt_simple::prelude::RS256KeyPair;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::Serialize;
|
||||
|
||||
use base64::engine::general_purpose::URL_SAFE as BASE64_URL_URL_SAFE;
|
||||
use base64::engine::general_purpose::URL_SAFE_NO_PAD as BASE64_URL_SAFE_NO_PAD;
|
||||
use base64::Engine as _;
|
||||
|
||||
use crate::utils::err::Res;
|
||||
use crate::utils::string_utils::rand_str;
|
||||
|
||||
@ -38,8 +42,8 @@ impl JWTSigner {
|
||||
algorithm: "RS256".to_string(),
|
||||
key_type: "RSA".to_string(),
|
||||
key_id: self.0.key_id().as_ref().unwrap().to_string(),
|
||||
public_exponent: base64::encode_config(components.e, base64::URL_SAFE),
|
||||
modulus: base64::encode_config(components.n, base64::URL_SAFE_NO_PAD),
|
||||
public_exponent: BASE64_URL_URL_SAFE.encode(components.e),
|
||||
modulus: BASE64_URL_SAFE_NO_PAD.encode(components.n),
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user