Saya sedang menulis aplikasi tanpa server dengan AWS (Lambda, API Gateway, Cognito, dll) dan saya bertanya-tanya bagaimana cara terbaik mengamankan tumpukan saya.
Saya telah membaca bahwa untuk aplikasi yang menggunakan server, EC2 atau lainnya, praktik terbaiknya adalah menyimpan token ID pengguna di backend. Ini masuk akal, karena proses node akan memberi saya solusi jangka panjang untuk mempertahankan dan menggunakan kembali token ID. Sebaliknya, aplikasi tanpa server tidak memberikan kemewahan ini. Saya telah mempertimbangkan untuk menyimpannya di bagian depan - karena bagaimanapun juga, token JWT yang disediakan oleh cognito telah ditandatangani, dan oleh karena itu harus menjadi bukti kerusakan, tetapi ini tampaknya agak meresahkan bagi saya. Saya lebih memilih sistem di mana pengguna tidak memiliki akses langsung ke token mereka sendiri. Saya juga berpikir untuk meminta token baru untuk setiap permintaan yang dikirim ke Lambda, tetapi ini juga sepertinya solusi yang jauh dari sempurna.
Apakah ada praktik terbaik yang diterima seputar autentikasi dan otorisasi tanpa server? Apakah saya berada di jalur yang benar dengan hanya menyimpan token saya di sisi klien saat pengguna membuka aplikasi?