- 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?;
38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
# Self Documentation
|
|
|
|
This directory contains comprehensive documentation for the Self digital identity tool.
|
|
|
|
## Documentation Structure
|
|
|
|
- [`architecture.md`](architecture.md) - System architecture and design principles
|
|
- [`authentication-flows.md`](authentication-flows.md) - Detailed authentication and registration flows
|
|
- [`server-api.md`](server-api.md) - Server API documentation and endpoints
|
|
- [`cryptography.md`](cryptography.md) - Cryptographic implementation details
|
|
- [`vault-system.md`](vault-system.md) - Vault functionality and key management
|
|
- [`openid-compliance.md`](openid-compliance.md) - OpenID Connect compliance documentation
|
|
- [`security-model.md`](security-model.md) - Security considerations and threat model
|
|
- [`deployment.md`](deployment.md) - Production deployment guidelines
|
|
- [`development.md`](development.md) - Development setup and contribution guide
|
|
|
|
## Quick Reference
|
|
|
|
### Key Concepts
|
|
- **Self-Sovereign Identity**: Users control their own identity without relying on centralized authorities
|
|
- **Client-Side Encryption**: All private keys are encrypted locally before storage
|
|
- **Decentralized Authentication**: Public key-based authentication without password dependencies
|
|
- **Vault System**: Secure storage for multiple encrypted keys with password-based access
|
|
|
|
### Core Components
|
|
- **Registration Component**: Email verification and key pair generation
|
|
- **Login Component**: Cryptographic challenge-response authentication
|
|
- **Identity Component**: Identity management and key access
|
|
- **Vault Manager**: Multi-key storage and management
|
|
- **Server**: Identity verification and OAuth-compatible endpoints
|
|
|
|
### Security Features
|
|
- AES-256-GCM encryption for private keys
|
|
- PBKDF2-based key derivation (10,000 iterations)
|
|
- Secp256k1 cryptographic signatures
|
|
- JWT-based session management
|
|
- Local storage with encrypted data only
|