diff --git a/Cargo.toml b/Cargo.toml index b294bd8..75d2314 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,8 +12,7 @@ edition = "2018" [dependencies] serde_json = "1.0" -serde_derive = "1.0" -serde = "1.0" +serde = {version = "1.0", features = ["derive"] } ring = { version = "0.16.5", features = ["std"] } base64 = "0.11" # For validation diff --git a/examples/custom_chrono.rs b/examples/custom_chrono.rs index 2d3bcca..fa6d868 100644 --- a/examples/custom_chrono.rs +++ b/examples/custom_chrono.rs @@ -1,11 +1,6 @@ -extern crate jsonwebtoken as jwt; -extern crate serde; -#[macro_use] -extern crate serde_derive; -extern crate chrono; - use chrono::prelude::*; -use jwt::{Header, Key, Validation}; +use jsonwebtoken::{Header, Key, Validation}; +use serde::{Deserialize, Serialize}; const SECRET: &str = "some-secret"; @@ -44,9 +39,6 @@ mod jwt_numeric_date { #[cfg(test)] mod tests { - use super::*; - use jwt::{Header, Validation}; - const EXPECTED_TOKEN: &str = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJDdXN0b20gRGF0ZVRpbWUgc2VyL2RlIiwiaWF0IjowLCJleHAiOjMyNTAzNjgwMDAwfQ.RTgha0S53MjPC2pMA4e2oMzaBxSY3DMjiYR2qFfV55A"; use super::super::{Claims, SECRET}; @@ -59,13 +51,13 @@ mod jwt_numeric_date { let claims = Claims { sub: sub.clone(), iat, exp }; - let token = jwt::encode(&Header::default(), &claims, Key::Hmac(SECRET.as_ref())) + let token = encode(&Header::default(), &claims, Key::Hmac(SECRET.as_ref())) .expect("Failed to encode claims"); assert_eq!(&token, EXPECTED_TOKEN); let decoded = - jwt::decode::(&token, Key::Hmac(SECRET.as_ref()), &Validation::default()) + decode::(&token, Key::Hmac(SECRET.as_ref()), &Validation::default()) .expect("Failed to decode token"); assert_eq!(decoded.claims, claims); @@ -77,7 +69,7 @@ mod jwt_numeric_date { let overflow_token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJDdXN0b20gRGF0ZVRpbWUgc2VyL2RlIiwiaWF0IjowLCJleHAiOjkyMjMzNzIwMzY4NTQ3NzYwMDB9.G2PKreA27U8_xOwuIeCYXacFYeR46f9FyENIZfCrvEc"; let decode_result = - jwt::decode::(&overflow_token, SECRET.as_ref(), &Validation::default()); + decode::(&overflow_token, SECRET.as_ref(), &Validation::default()); assert!(decode_result.is_err()); } @@ -91,12 +83,12 @@ fn main() -> Result<(), Box> { let claims = Claims { sub: sub.clone(), iat, exp }; - let token = jwt::encode(&Header::default(), &claims, Key::Hmac(SECRET.as_ref()))?; + let token = jsonwebtoken::encode(&Header::default(), &claims, Key::Hmac(SECRET.as_ref()))?; println!("serialized token: {}", &token); let token_data = - jwt::decode::(&token, Key::Hmac(SECRET.as_ref()), &Validation::default())?; + jsonwebtoken::decode::(&token, Key::Hmac(SECRET.as_ref()), &Validation::default())?; println!("token data:\n{:#?}", &token_data); Ok(()) diff --git a/examples/custom_header.rs b/examples/custom_header.rs index d4c94da..d4e5c58 100644 --- a/examples/custom_header.rs +++ b/examples/custom_header.rs @@ -1,9 +1,7 @@ -extern crate jsonwebtoken as jwt; -#[macro_use] -extern crate serde_derive; +use serde::{Deserialize, Serialize}; -use jwt::errors::ErrorKind; -use jwt::{decode, encode, Algorithm, Header, Key, Validation}; +use jsonwebtoken::errors::ErrorKind; +use jsonwebtoken::{decode, encode, Algorithm, Header, Key, Validation}; #[derive(Debug, Serialize, Deserialize)] struct Claims { diff --git a/examples/validation.rs b/examples/validation.rs index 552eef0..bfc6bcc 100644 --- a/examples/validation.rs +++ b/examples/validation.rs @@ -1,9 +1,6 @@ -extern crate jsonwebtoken as jwt; -#[macro_use] -extern crate serde_derive; - -use jwt::errors::ErrorKind; -use jwt::{decode, encode, Header, Key, Validation}; +use jsonwebtoken::errors::ErrorKind; +use jsonwebtoken::{decode, encode, Header, Key, Validation}; +use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] struct Claims { diff --git a/src/algorithms.rs b/src/algorithms.rs index 6b05356..09c8b17 100644 --- a/src/algorithms.rs +++ b/src/algorithms.rs @@ -1,4 +1,5 @@ use crate::errors::{new_error, Error, ErrorKind, Result}; +use serde::{Deserialize, Serialize}; use std::str::FromStr; /// The algorithms supported for signing/verifying diff --git a/src/header.rs b/src/header.rs index 2a17da9..66f38d8 100644 --- a/src/header.rs +++ b/src/header.rs @@ -1,4 +1,5 @@ use crate::algorithms::Algorithm; +use serde::{Deserialize, Serialize}; /// A basic JWT header, the alg defaults to HS256 and typ is automatically /// set to `JWT`. All the other fields are optional. diff --git a/src/lib.rs b/src/lib.rs index db07517..6f9b1fa 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,15 +3,6 @@ //! Documentation: [stable](https://docs.rs/jsonwebtoken/) #![deny(missing_docs)] -#[macro_use] -extern crate serde_derive; -extern crate base64; -extern crate chrono; -extern crate ring; -extern crate serde; -extern crate serde_json; -extern crate simple_asn1; - mod algorithms; mod crypto; /// All the errors diff --git a/tests/ec/mod.rs b/tests/ec/mod.rs index 8a15ecc..cc3321e 100644 --- a/tests/ec/mod.rs +++ b/tests/ec/mod.rs @@ -1,6 +1,6 @@ use chrono::Utc; use jsonwebtoken::{decode, decode_pem, encode, sign, verify, Algorithm, Header, Key, Validation}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)] pub struct Claims { diff --git a/tests/hmac.rs b/tests/hmac.rs index 3c3f284..89cfaf7 100644 --- a/tests/hmac.rs +++ b/tests/hmac.rs @@ -3,7 +3,7 @@ use jsonwebtoken::{ dangerous_unsafe_decode, decode, decode_header, encode, sign, verify, Algorithm, Header, Key, Validation, }; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)] pub struct Claims { diff --git a/tests/rsa/mod.rs b/tests/rsa/mod.rs index d453cfe..8fde515 100644 --- a/tests/rsa/mod.rs +++ b/tests/rsa/mod.rs @@ -1,6 +1,6 @@ use chrono::Utc; use jsonwebtoken::{decode, decode_pem, encode, sign, verify, Algorithm, Header, Key, Validation}; -use serde_derive::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; const RSA_ALGORITHMS: &[Algorithm] = &[ Algorithm::RS256,