- Created SelfFreezoneClient in Self components
- Wraps SDK FreezoneScriptClient for Self-specific operations
- Implements send_verification_email method
- Uses Rhai script template for email verification
- Includes template variable substitution
- Added serde-wasm-bindgen dependency
Usage:
let client = SelfFreezoneClient::builder()
.supervisor_url("http://localhost:8080")
.secret("my-secret")
.build()?;
client.send_verification_email(
"user@example.com",
"123456",
"https://verify.com/abc"
).await?;
48 lines
1.1 KiB
TOML
48 lines
1.1 KiB
TOML
[package]
|
|
name = "self-components"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
yew = { workspace = true }
|
|
wasm-bindgen = { workspace = true }
|
|
wasm-bindgen-futures = { workspace = true }
|
|
web-sys = { workspace = true, features = [
|
|
"console",
|
|
"HtmlInputElement",
|
|
"HtmlTextAreaElement",
|
|
"Event",
|
|
"EventTarget",
|
|
"InputEvent",
|
|
"MouseEvent",
|
|
"Window",
|
|
"Document",
|
|
"Element",
|
|
"EventSource",
|
|
"MessageEvent",
|
|
"Clipboard",
|
|
"Navigator",
|
|
"Crypto",
|
|
"CryptoKey",
|
|
"SubtleCrypto",
|
|
"AesKeyGenParams",
|
|
"CryptoKeyPair",
|
|
] }
|
|
js-sys = { workspace = true }
|
|
gloo = { workspace = true }
|
|
gloo-timers = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde-wasm-bindgen = "0.6"
|
|
getrandom = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
aes-gcm = { workspace = true }
|
|
base64 = { workspace = true }
|
|
hex = { workspace = true }
|
|
rand = { workspace = true }
|
|
k256 = { version = "0.13", features = ["ecdsa", "sha256"] }
|
|
pbkdf2 = { version = "0.12", features = ["hmac"], default-features = false }
|