Ekosistem sumber terbuka Rust telah menerima rangka kerja pengesahan baharu yang dipanggil Torii, direka untuk memberikan pembangun kawalan penuh terhadap data pengguna. Walau bagaimanapun, perkenalannya telah mencetuskan perbahasan yang lebih luas dalam kalangan pembangun mengenai kelebihan sistem pengesahan yang dihoskan sendiri berbanding penyelesaian pihak ketiga yang popular seperti Auth0, Cognito, dan WorkOS.
Kedaulatan Data berbanding Kemudahan
Torii memposisikan dirinya sebagai penyelesaian untuk pembangun yang ingin mengekalkan pemilikan penuh data pengesahan pengguna dan tidak bergantung pada perkhidmatan yang dihoskan di awan. Pendekatan ini telah mendapat sambutan daripada sesetengah pembangun sementara yang lain mempersoalkan kepraktisannya. Perbincangan komuniti mendedahkan jurang yang ketara antara mereka yang menghargai kedaulatan data dan mereka yang lebih suka kemudahan penyedia pengesahan yang telah mantap.
Saya tidak pasti bahawa kedaulatan adalah apa yang dikehendaki oleh banyak aplikasi untuk jenis data berbahaya ini, itulah sebabnya Cognito dan Auth0 sangat popular.
Sentimen ini menggambarkan ketegangan di tengah-tengah perbahasan. Walaupun Torii menawarkan pembangun keupayaan untuk menyimpan data pengguna di mana sahaja mereka pilih, banyak organisasi sengaja menggunakan pihak luar untuk pengesahan kepada penyedia khusus bagi mengurangkan risiko keselamatan dan beban pematuhan.
Ciri-ciri Torii:
- Seni bina berasaskan plugin
- Sokongan pangkalan data: SQLite, PostgreSQL, MySQL
- Kaedah pengesahan: Passkey, OAuth2/OIDC
- Kedaulatan data penuh (data pengguna disimpan di mana anda pilih)
Kebimbangan Keselamatan dan Pertukaran
Keselamatan muncul sebagai tema utama dalam respons komuniti terhadap Torii. Beberapa pembangun menyatakan bahawa pengesahan adalah bidang yang sangat sensitif di mana kesilapan boleh mengakibatkan kesan yang teruk. Dokumentasi projek itu sendiri mengakui realiti ini, dengan menyatakan bahawa ia belum menjalani audit keselamatan dan tidak boleh digunakan dalam persekitaran pengeluaran.
Pengkritik penyelesaian yang dihoskan menyoroti pelanggaran keselamatan terkini di syarikat-syarikat seperti Okta (yang memiliki Auth0), mencadangkan bahawa walaupun penyedia yang mantap tidak kebal daripada masalah keselamatan. Sementara itu, pembela perkhidmatan pengesahan pihak ketiga berpendapat bahawa penyedia khusus biasanya mempunyai lebih banyak sumber yang dikhususkan untuk keselamatan berbanding pasukan pembangunan individu.
Peruntukan Sumber dan Fokus
Bagi kebanyakan pembangun, keputusan antara pengesahan yang dihoskan sendiri dan pihak ketiga bergantung pada peruntukan sumber. Mengekalkan sistem pengesahan yang mantap memerlukan perhatian dan kepakaran berterusan yang mungkin tidak dimiliki oleh pasukan yang lebih kecil.
Beberapa pengulas menyatakan bahawa syarikat permulaan dan syarikat kecil sering memilih perkhidmatan seperti Auth0 atau Cognito bukan kerana mereka tidak boleh melaksanakan pengesahan sendiri, tetapi kerana mereka lebih suka menumpukan sumber terhad mereka pada ciri-ciri produk utama mereka. Pengesahan, walaupun kritikal, dilihat sebagai infrastruktur dan bukannya faktor pembeza bagi kebanyakan aplikasi.
Keperluan Perusahaan dan Integrasi
Keperluan perusahaan muncul sebagai pertimbangan penting yang lain dalam perbincangan. Aplikasi B2B sering perlu menyokong senario pengesahan yang kompleks termasuk SAML, SCIM, dan pelbagai penyedia identiti. Keperluan ini boleh menjadikan pengesahan sangat mencabar untuk dilaksanakan dan dikekalkan secara dalaman.
Sesetengah pembangun berkongsi pengalaman tentang kesukaran dalam menyokong keperluan pengesahan perusahaan, terutamanya berkaitan dengan konfigurasi penyedia identiti dan penyelesaian masalah. Cabaran-cabaran ini membantu menjelaskan mengapa banyak syarikat beralih kepada penyedia khusus walaupun kos lebih tinggi dan potensi terikat dengan vendor.
Penyelesaian Pengesahan Popular yang Disebut:
- Auth0 (dimiliki oleh Okta)
- AWS Cognito
- WorkOS
- Keycloak (alternatif sumber terbuka)
Kematangan Rangka Kerja dan Ekosistem
Sebagai projek baharu, Torii menghadapi cabaran untuk menetapkan dirinya dalam ekosistem di mana rangka kerja pengesahan yang matang sudah wujud untuk bahasa lain. Ahli komuniti menunjukkan penyelesaian yang mantap seperti Passport.js untuk Node.js dan Devise untuk Ruby on Rails, dengan menyatakan bahawa Rust kekurangan rangka kerja pengesahan yang sama matangnya.
Jurang dalam ekosistem Rust ini menjadikan Torii berpotensi berharga, dengan seorang pengulas menyatakan bahawa mereka telah memikirkan tentang betapa perlunya sesuatu seperti ini dalam Rust hanya seminggu sebelumnya. Seni bina berasaskan plugin rangka kerja ini, yang menyokong ciri-ciri seperti log masuk tanpa kata laluan, OAuth sosial, dan kunci laluan, bertujuan untuk menyediakan fleksibiliti yang diperlukan oleh pembangun sambil mengekalkan pemilikan data.
Pengenalan Torii menyoroti ketegangan berterusan antara kemudahan dan kawalan dalam pembangunan aplikasi moden. Walaupun penyedia pengesahan pihak ketiga terus mendominasi pasaran, alat seperti Torii menawarkan jalan alternatif untuk pembangun yang mengutamakan kedaulatan data dan bersedia untuk mengambil tanggungjawab yang berkaitan.
Rujukan: Torii: Rangka Kerja Pengesahan Berkuasa untuk Aplikasi Rust