Sistem autentikasi dan otorisasi Web3 modern menggunakan Rust dan Svelte
Login dengan Metamask. Verifikasi tanda tangan kriptografi. Aman dan full-stack.
๐ Demo โข ๐ Fitur โข ๐ ๏ธ Teknologi โข ๐ Mulai โข ๐ฅ Kontribusi
Web3Auth-Rust adalah implementasi lengkap microservice autentikasi Web3 yang memungkinkan pengguna melakukan autentikasi menggunakan dompet Web3 (Ethereum) tanpa perlu menyimpan kata sandi.
๐ฅ Dapatkan otentikasi modern untuk aplikasi Anda dengan teknologi blockchain
.
โโโ backend/ # ๐ฆ Server Rust dengan Axum
โ โโโ src/
โ โ โโโ config/ # โ๏ธ Konfigurasi aplikasi
โ โ โโโ middleware/ # ๐ Middleware JWT
โ โ โโโ models/ # ๐ Model data
โ โ โโโ routes/ # ๐ API routes
โ โ โโโ services/ # ๐งฉ Business logic
โ โ โโโ utils/ # ๐ง Utility functions
โ โ โโโ main.rs # ๐ช Entry point
โ โโโ Cargo.toml # ๐ฆ Rust dependencies
โ
โโโ frontend/ # ๐จ UI Svelte
โ โโโ src/
โ โ โโโ lib/
โ โ โ โโโ components/ # ๐งฑ UI Components
โ โ โ โโโ services/ # ๐ API dan Web3 services
โ โ โ โโโ stores/ # ๐๏ธ State management
โ โ โ โโโ types/ # ๐ TypeScript types
โ โ โโโ routes/ # ๐ Halaman aplikasi
โ โ โโโ app.css # ๐จ Global styles
โ โโโ package.json # ๐ฆ NPM dependencies
โ
โโโ README.md # ๐ Anda berada di sini
Clone repository:
git clone https://github.com/badruzbby/web3auth-rust.git
cd web3auth-rust
Masuk ke direktori backend:
cd backend
Buat file .env
(atau gunakan yang sudah ada):
PORT=8080
RUST_LOG=info
JWT_SECRET=rahasia_jwt_web3auth_microservice_sangat_aman_dan_panjang
Jalankan server:
cargo run
Backend akan berjalan di http://localhost:8080
๐
Masuk ke direktori frontend:
cd frontend
Install dependencies:
npm install
Jalankan server development:
npm run dev
Frontend akan berjalan di http://localhost:5173
๐
Method | Endpoint | Deskripsi | Auth |
---|---|---|---|
POST |
/api/auth/nonce |
Mendapatkan nonce unik | ๐ซ |
POST |
/api/auth/verify |
Verifikasi tanda tangan | ๐ซ |
GET |
/api/profile |
Mendapatkan profil pengguna | โ |
Cara tercepat untuk deploy:
docker-compose up -d
Docker Compose file included in the repo!
Proyek ini kompatibel dengan:
Kontribusi sangat disambut! Berikut adalah beberapa cara untuk berkontribusi:
Langkah-langkah untuk kontribusi:
git checkout -b feature/amazing-feature
)git commit -m 'Menambahkan fitur yang luar biasa'
)git push origin feature/amazing-feature
)Proyek ini dilisensikan di bawah MIT License. Lihat file LICENSE
untuk lebih detail.