jwt_rustcrypto/
lib.rs

1#![doc = include_str!("../README.md")]
2
3// #[cfg(target_arch = "wasm32")]
4// extern crate wasm_bindgen;
5
6#[cfg(target_arch = "wasm32")]
7use wasm_bindgen::prelude::*;
8
9#[cfg(target_arch = "wasm32")]
10#[wasm_bindgen]
11pub fn wasm_encode(header: &str, key: &str, payload: &str) -> Result<String, JsValue> {
12    let header: Header =
13        serde_json::from_str(header).map_err(|e| JsValue::from_str(&e.to_string()))?;
14    let signing_key = SigningKey::from_secret(key.as_bytes());
15    let payload: serde_json::Value =
16        serde_json::from_str(payload).map_err(|e| JsValue::from_str(&e.to_string()))?;
17    encode(&header, &signing_key, &payload).map_err(|e| JsValue::from_str(&e.to_string()))
18}
19
20mod algorithm;
21mod decode;
22mod ecdsa_signing;
23mod encode;
24mod error;
25mod header;
26mod hmac_signing;
27mod pem;
28mod rsa_signing;
29mod secret_key;
30mod signing_key;
31mod validation;
32mod verifying_key;
33
34pub use algorithm::Algorithm;
35pub use decode::*;
36pub(crate) use ecdsa_signing::*;
37pub use encode::*;
38pub use error::Error;
39pub use header::{Header, Jwk};
40pub(crate) use hmac_signing::*;
41pub(crate) use pem::*;
42use rsa_signing::*;
43pub use secret_key::SecretKey;
44pub use signing_key::*;
45pub use validation::ValidationOptions;
46pub use verifying_key::*;