| 40 | #[test] |
| 41 | #[wasm_bindgen_test] |
| 42 | fn encode_with_custom_header() { |
| 43 | let my_claims = Claims { |
| 44 | sub: "b@b.com".to_string(), |
| 45 | company: "ACME".to_string(), |
| 46 | exp: OffsetDateTime::now_utc().unix_timestamp() + 10000, |
| 47 | }; |
| 48 | let header = Header { kid: Some("kid".to_string()), ..Default::default() }; |
| 49 | let token = encode(&header, &my_claims, &EncodingKey::from_secret(b"secret")).unwrap(); |
| 50 | |
| 51 | let token_data = decode::<Claims>( |
| 52 | &token, |
| 53 | &DecodingKey::from_secret(b"secret"), |
| 54 | &Validation::new(Algorithm::HS256), |
| 55 | ) |
| 56 | .unwrap(); |
| 57 | assert_eq!(my_claims, token_data.claims); |
| 58 | assert_eq!("kid", token_data.header.kid.unwrap()); |
| 59 | assert!(token_data.header.extras.inner().is_empty()); |
| 60 | } |
| 61 | |
| 62 | #[test] |
| 63 | #[wasm_bindgen_test] |