前言
Svelte,一個語法簡潔、入門容易,面向未來的前端框架。
從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1:
Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。
為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文文檔站點。
如果需要進階學習,也可以入手我的小冊《Svelte 開發指南》,語法篇、實戰篇、原理篇三大篇章帶你系統掌握 Svelte!
歡迎圍觀我的“網頁版朋友圈”、加入“冴羽·成長陪伴社群”,踏上“前端大佬成長之路”。
身份認證
身份認證(Auth)指的是認證(authentication)和授權(authorization),這是構建 Web 應用程序時的常見需求。認證是指根據用戶提供的憑證驗證用戶的身份。授權是指確定用戶被允許執行哪些操作。
會話(Sessions) vs 令牌(tokens)
在用戶提供了用戶名和密碼等憑證后,我們希望允許他們使用應用程序,而無需在后續請求中再次提供憑證。用戶在隨后的請求中通常通過會話標識符(session identifier)或簽名令牌(如 JSON Web Token,JWT)進行認證。
會話 ID 最常被存儲在數據庫中。它們可以被立即撤銷,但每次請求都需要進行數據庫查詢。
相比之下,JWT 通常不會與數據存儲進行校驗,這意味著它們無法被立即撤銷。這種方法的優勢是改善了延遲并減少了數據存儲的負載。
集成點
可以在服務端 hooks中檢查身份認證 cookies。如果找到與提供的憑證匹配的用戶,用戶信息可以存儲在 locals
中。
指南
Lucia是一個基于會話的 Web 應用程序認證的參考。它包含了在 SvelteKit 和其他 JS 項目中實現基于會話認證的示例代碼片段和項目。您可以在創建新項目時使用 npx sv create
或在現有項目中使用 npx sv add lucia
來添加遵循 Lucia 指南的代碼。
身份認證系統與 web 框架緊密耦合,因為大部分代碼都在驗證用戶輸入、處理錯誤和引導用戶到適當的下一頁。因此,許多通用的 JS 認證庫都包含了一個或多個 web 框架。基于這個原因,許多用戶會發現遵循 SvelteKit 特定的指南(如在Lucia中找到的示例)比在項目中包含多個 web 框架更可取。
Svelte 中文文檔
點擊查看中文文檔:SvelteKit 身份認證
系統學習 Svelte,歡迎入手小冊《Svelte 開發指南》。語法篇、實戰篇、原理篇三大篇章帶你系統掌握 Svelte!
此外我還寫過 JavaScript 系列、TypeScript 系列、React 系列、Next.js 系列、冴羽答讀者問等 14 個系列文章, 全系列文章目錄:https://github.com/mqyqingfeng/Blog
歡迎圍觀我的“網頁版朋友圈”、加入“冴羽·成長陪伴社群”,踏上“前端大佬成長之路”。