Penyedia autentikasi Sumber Terbuka
Tambahkan login aman dan manajemen sesi ke aplikasi Anda. SDK tersedia untuk bahasa populer dan kerangka kerja front-end misalnya Node.js, Go, Python, React.js, React Native, Vanilla JS, dll.
Arsitektur Supertokens dioptimalkan untuk menambahkan otentikasi aman bagi pengguna Anda tanpa mengorbankan pengalaman pengguna dan pengembang
Tiga blok bangunan arsitektur SuperTokens
- Frontend SDK: Mengelola token sesi dan merender widget UI login
- SDK Backend: Menyediakan API untuk pendaftaran, masuk, keluar, penyegaran sesi, dll. Frontend Anda akan berkomunikasi dengan API ini
- SuperTokens Core: Layanan HTTP untuk logika autentikasi inti dan operasi database. Layanan ini digunakan oleh Backend SDK
Fitur
- Login Tanpa Kata Sandi
- Masuk Sosial
- Masuk Kata Sandi Email
- Login Kata Sandi Telepon
- Manajemen Sesi
- Otentikasi Multi-Faktor
- Dukungan Multi Penyewa/Organisasi (SSO Perusahaan)
- Peran Pengguna
- Otentikasi Layanan Mikro
Pelajari lebih lanjut
- Apa itu SuperToken?
- Filsafat
- Fitur + Aplikasi demo
- Dokumentasi
- Arsitektur
- ☕ Mengapa Jawa?
- ⌨️ Dasbor Manajemen Pengguna
- SuperToken vs Lainnya
- Membangun dari sumber
- Masyarakat
- ? Berkontribusi
- Lisensi
Jika Anda menyukai proyek kami, silakan? repositori ini! Untuk masukan, silakan bergabung dengan Discord kami, atau buat masalah di repo ini
Apa itu SuperToken?
SuperTokens adalah alternatif inti terbuka untuk penyedia login berpemilik seperti Auth0 atau AWS Cognito. Kami berbeda karena kami menawarkan:
- Sumber terbuka: SuperToken dapat digunakan secara gratis, selamanya, tanpa batasan jumlah pengguna.
- Penerapan lokal sehingga Anda mengontrol 100% data pengguna Anda, menggunakan database Anda sendiri.
- Solusi menyeluruh dengan login, pendaftaran, manajemen pengguna dan sesi, tanpa semua kerumitan protokol OAuth.
- Kemudahan implementasi dan keamanan yang lebih tinggi.
- Ekstensibilitas: Siapa pun dapat berkontribusi dan menjadikan SuperToken lebih baik!
Filsafat
Otentikasi secara langsung memengaruhi UX, pengalaman pengembangan, dan keamanan aplikasi apa pun. Kami percaya bahwa solusi saat ini tidak dapat mengoptimalkan ketiga "pilar", sehingga menyebabkan banyak aplikasi melakukan autentikasinya sendiri. Hal ini tidak hanya menyebabkan masalah keamanan tetapi juga menghabiskan banyak waktu.
Kami ingin mengubahnya - kami yakin satu-satunya cara adalah memberikan solusi yang memiliki tingkat abstraksi yang tepat sehingga memberi Anda kontrol maksimal, aman, dan mudah digunakan - sama seperti jika Anda membuatnya sendiri, dari awal (kecuali waktu untuk belajar, membangun, dan memelihara).
Kami juga percaya pada prinsip paling sedikit vendor lock-in. Memiliki kendali penuh atas data pengguna berarti Anda dapat beralih dari SuperToken tanpa memaksa pengguna yang ada untuk keluar, mengatur ulang kata sandi mereka, atau dalam kasus terburuk, mendaftar lagi.
Klik di sini untuk melihat aplikasi demo.
- Silakan kunjungi situs web kami untuk melihat daftar fitur.
- Kami ingin membuat fitur-fiturnya sebisa mungkin dipisahkan. Ini berarti Anda dapat menggunakan SuperToken hanya untuk login, atau manajemen sesi saja, atau keduanya. Faktanya, kami juga menawarkan integrasi manajemen sesi dengan penyedia login lain seperti Auth0.
Dokumentasi
Dokumennya dapat dilihat di website kami.
Ada informasi lebih lanjut tentang SuperToken di bagian wiki GitHub.
Arsitektur
Silakan temukan diagram arsitektur di sini
Untuk informasi lebih lanjut, silakan kunjungi bagian wiki GitHub kami.
☕ Mengapa Jawa?
- ✅ Meskipun menjalankan Java mungkin terasa sulit, kami menyediakan JDK beserta gambar biner/buruh pelabuhan saat mendistribusikannya. Hal ini membuat menjalankan SuperToken sama seperti menjalankan layanan mikro HTTP lainnya.
- ✅ Pulau Jawa mempunyai ekosistem yang sangat matang. Ini menyiratkan bahwa perpustakaan pihak ketiga telah teruji dalam pertempuran.
- ✅ Sistem tipe Java yang kuat memastikan lebih sedikit bug dan kemudahan pemeliharaan. Hal ini sangat penting ketika banyak orang diharapkan mengerjakan proyek yang sama.
- ✅ Tim kami paling nyaman dengan Java dan merekrut pengembang Java yang hebat juga relatif mudah.
- ✅ Salah satu kritik terbesar terhadap Java adalah penggunaan memori. Kami memiliki tiga solusi untuk ini:
- Operasi terkait autentikasi yang paling sering dilakukan adalah verifikasi sesi - ini terjadi dalam SDK backend (node, python, Go) tanpa menghubungi inti Java. Oleh karena itu, satu instance inti dapat menangani puluhan ribu pengguna dengan cukup mudah.
- Kami telah memilih ketergantungan kami dengan cermat. Misalnya: kami menggunakan server kucing jantan yang tertanam, bukan kerangka web tingkat yang lebih tinggi.
- Kami juga berencana menggunakan GraalVM di masa depan dan ini dapat mengurangi penggunaan memori hingga 95%!
- ✅ Jika Anda memerlukan modifikasi apa pun pada API autentikasi, modifikasi tersebut perlu dilakukan pada level SDK backend (misalnya Node, Golang, Python..). Jadi Anda jarang perlu langsung memodifikasi/bekerja dengan kode Java di repo ini.
⌨️ Dasbor Manajemen Pengguna
Awasi pengguna Anda dengan Dasbor Manajemen Pengguna SuperTokens
Daftar pengguna
Cantumkan semua pengguna yang telah mendaftar ke aplikasi Anda.
Kelola pengguna
Kelola pengguna dengan mengubah atau menghapus sesi, metadata, peran, dan info akun mereka.
SuperToken vs lainnya
Silakan temukan tabel perbandingan terperinci di situs web kami
Membangun dari sumber
Silakan lihat wiki kami untuk instruksi.
Masyarakat
Jika menurut Anda ini adalah proyek yang dapat Anda gunakan di masa depan, silakan? repositori ini!
Kontributor (di seluruh repositori SuperTokens)
Rishabh Poddar | Mohon Ruia | Bhumil Sarvaiya | Joel Coutinho |
Rakesh NAIK | Mufassir Kazi | Nemi Shah | Rohit Bhatia |
Madhu Mahadewa | Aidar Nugmanoff | Arnav Dewan | NkxxkN |
Tuan Chadiwala | Luiz Soares | Sudipto Ghosh | Fabrikasi20 |
monyet metalik | Vidhyanshu Jain | Domenico Luciani | Enzo Batrov |
Eloïse Isautier | Ákos Resch | Chotu Chaudhary | Tomáš Horáček |
Sam Bauch | Alexei Tylindus | Gus Fune | chenkaiC4 |
Marek Dulowski | Piyushh Bhutoria | Eric Dobbertin | Kyle Dodson |
Ralph Lawrence | Christopher Kapik | Hanzyusuf | Mihály Lengyel |
Cerino O. Ligutom III | nadila | Vasile Catana | Jay Mistry |
Yakub Marshall | miketromba | Oleg Vdovenko | Siddharth |
xuatz | Yoway Buorn | Ronit Panda | Anugrah Singhal |
Jeremy Eastham | Assaf Yacobi | Sattvik Chakravarthy | Olivier Pichon |
Siddhant Varma | renyijiu | Yesaya Thomason | Utsav Barnwal |
Saurabh Ghatnekar | Alisher Aituarov | Simon Kihlberg Wallstrom | Areeb Khan |
Nicholas Dudfield | Qdea | Lukas Knuth | Bukit Melvyn |
Matt Murray | Cleo Rebert | Daniil Borovoy | Krzysztof Witkowski |
Lehoczky Zoltán | Viraj Kanwade | Anurag Srivastava |
? Berkontribusi
Silakan lihat file CONTRIBUTING.md untuk petunjuknya.
Lisensi
© 2020-2023 SuperTokens Inc dan kontributornya. Semua hak dilindungi undang-undang.
Bagian dari perangkat lunak ini dilisensikan sebagai berikut:
- Semua konten yang berada di bawah direktori "ee/" dari repositori ini, jika direktori tersebut ada, dilisensikan berdasarkan lisensi yang ditentukan dalam "ee/LICENSE.md".
- Semua komponen pihak ketiga yang dimasukkan ke dalam Perangkat Lunak SuperTokens dilisensikan berdasarkan lisensi asli yang diberikan oleh pemilik komponen yang berlaku.
- Konten di luar direktori yang disebutkan di atas atau batasan di atas tersedia di bawah lisensi "Apache 2.0" sebagaimana didefinisikan dalam file level "LICENSE.md"