SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证

前言

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

欢迎围观我的"网页版朋友圈"、加入"冴羽·成长陪伴社群",踏上"前端大佬成长之路"

相关推荐
Csvn8 小时前
OpenSpec 详细使用教程
前端
之歆9 小时前
Day19_LESS 完全指南——从入门到工程实践
前端·css·less
云水一下9 小时前
HTML5 从入门到精通:实战收官——从零搭建完整静态网站,综合运用所有知识
前端·html5
不总是9 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
冬奇Lab10 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
zhangyao94033010 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong11 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
kjs--11 小时前
浏览器书签执行脚本
前端
烛衔溟11 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆11 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化