Rumah  >  Artikel  >  hujung hadapan web  >  Sumber Terbuka, Pintu Terbuka: Menggulung Hacktoberfest 4

Sumber Terbuka, Pintu Terbuka: Menggulung Hacktoberfest 4

Patricia Arquette
Patricia Arquetteasal
2024-10-30 00:01:02533semak imbas

Open Source, Open Doors: Wrapping Up Hacktoberfest 4

Selepas empat minggu berturut-turut Hacktoberfest, akhirnya saya telah menyelesaikan cabaran dengan empat PR yang diluluskan. Saya harus mengakui, saya berasa agak gementar pada permulaan acara ini, kerana sumber terbuka merasakan sesuatu di luar zon selesa saya. Walau bagaimanapun, bermula dengan isu yang lebih kecil membantu saya membina keyakinan, dan tidak lama kemudian, saya terdorong untuk mencari isu yang lebih kompleks untuk diselesaikan. Sebahagian daripada dorongan ini, saya fikir, datang daripada menjadi pelajar—menyumbang kepada komuniti pembangun memberi saya rasa pengalaman dunia sebenar.

Jika anda ingin membaca lebih lanjut tentang perjalanan Hacktoberfest saya, sila semak halaman peribadi saya, tempat saya merakam refleksi saya selepas setiap PR. Tetapi tanpa berlengah lagi, mari kita selami PR minggu terakhir saya.

Gambaran Keseluruhan Mikochi: Pelayar Fail Jauh Minimalis

Mikochi ialah penyemak imbas fail jauh yang ringan dan dihoskan sendiri, sesuai untuk pengguna yang menguruskan fail pada pelayan peribadi atau NAS (Storan Terlampir Rangkaian). Alat ini membolehkan pengguna menavigasi dengan mudah melalui direktori jauh, melaksanakan tugas pengurusan fail seperti memuat naik, memuat turun, menamakan semula dan memadam fail, dan juga menstrim fail media terus kepada pemain seperti VLC atau MPV.

Dibina dengan antara muka web moden yang dikuasakan oleh JavaScript/Preact dan bahagian belakang API dalam Go/Gin, Mikochi menyediakan pengalaman yang lancar dan responsif untuk penyemakan imbas fail jauh.

Apa yang saya usahakan

Dalam projek ini, saya menangani isu yang berkaitan dengan meningkatkan kawalan dan keselamatan pengguna di Mikochi, saya melaksanakan ciri log keluar yang boleh diakses melalui butang "Log Keluar" dalam bar navigasi aplikasi. Ciri ini direka bentuk untuk log keluar pengguna dengan selamat dengan mengosongkan token pengesahan dan mengubah hala mereka ke halaman log masuk. Pada bahagian hadapan, butang log keluar mencetuskan panggilan API ke titik akhir /logout baharu, mengosongkan JWT daripada storan setempat dan menyegarkan atau mengubah hala halaman untuk memastikan pengguna log keluar sepenuhnya. Pada bahagian belakang, saya membina logik untuk mengendalikan titik akhir /logout dengan menambahkan ID token pada senarai token yang tidak sah. Senarai ini disemak dalam perisian tengah pengesahan JWT, memastikan bahawa sebarang permintaan dengan token yang tidak sah ditolak dengan respons 403. Penambahan ini meningkatkan keselamatan Mikochi, membantu pengguna mengawal sesi aktif dan melindungi akaun mereka pada peranti kongsi atau awam.

Penyelesaian

Dalam PR ini, saya melaksanakan fungsi log keluar selamat untuk Mikochi, menangani keperluan bahagian hadapan dan belakang untuk meningkatkan kawalan sesi pengguna. Pada bahagian hadapan, saya mencipta komponen Log Keluar untuk mengendalikan panggilan API ke /api/logout dan mengosongkan JWT daripada storan setempat. Apabila pengguna mengklik "Log Keluar", JWT dialih keluar, permintaan POST dihantar ke bahagian belakang untuk mengesahkan log keluar, dan halaman mengubah hala pengguna ke skrin log masuk utama menggunakan window.location.href. Pada bahagian belakang, saya mengubah suai penjanaan JWT dalam generateAuthToken() untuk memasukkan sifat ID, membenarkan token menjadi tidak sah dengan berkesan. Saya kemudian menambah pengendali dalam backend/auth/handlers.go untuk mengurus permintaan log keluar dengan menambahkan ID JWT pada senarai token yang tidak sah. Perisian tengah JWT menyemak setiap permintaan, menafikan akses jika token telah tidak sah dan mengembalikan respons 403. Untuk mengesahkan kefungsian, saya menjalankan ujian manual dengan memasukkan semula token yang tidak sah sebelum ini ke dalam storan tempatan selepas log keluar, memastikan sebarang percubaan untuk menggunakan semula token itu gagal, memastikan proses log keluar dengan berkesan.

Fikiran Saya

Bagi saya, ini adalah projek yang menarik, menggabungkan pembangunan bahagian belakang dan bahagian hadapan menjadi satu projek. Isu yang saya atasi pada bahagian hadapan adalah agak mudah—membuat butang log keluar, dengan sedikit CSS untuk menambah baik penampilannya. Saya telah mempelajari React untuk seketika, jadi sementara saya memerlukan penyegaran ringkas, ia membantu saya memahami kod dan komponen yang sudah ada dalam sumbernya.

Di bahagian belakang, pemilik projek telah memasukkan projek menggunakan Docker, yang merupakan perkara biasa bagi saya. Walau bagaimanapun, bahagian yang paling memakan masa ialah bekerja dengan Go, bahasa hujung belakang untuk projek ini. Saya tidak mempunyai pengalaman terdahulu dengan Go, tetapi menangani isu ini memberi saya peluang untuk mempelajarinya ke tahap yang berfungsi, yang saya dapati cukup bermanfaat.

Atas ialah kandungan terperinci Sumber Terbuka, Pintu Terbuka: Menggulung Hacktoberfest 4. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn