1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
use std::default::Default; #[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)] pub enum Algorithm { HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, } #[derive(Debug, PartialEq, Serialize, Deserialize)] pub struct Header { pub alg: Algorithm, pub typ: String } impl Default for Algorithm { fn default() -> Algorithm { Algorithm::HS256 } } impl Header { pub fn new(alg: Algorithm) -> Header { Header {alg: alg, typ: "JWT".to_string()} } }