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

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

相关推荐
葡萄城技术团队2 分钟前
基于前端技术的QR码API开发实战:从原理到部署
前端
八了个戒2 小时前
「数据可视化 D3系列」入门第三章:深入理解 Update-Enter-Exit 模式
开发语言·前端·javascript·数据可视化
noravinsc2 小时前
html页面打开后中文乱码
前端·html
胚芽鞘6812 小时前
vue + element-plus自定义表单验证(修改密码业务)
javascript·vue.js·elementui
小满zs3 小时前
React-router v7 第四章(路由传参)
前端·react.js
小陈同学呦3 小时前
聊聊双列瀑布流
前端·javascript·面试
来自星星的坤3 小时前
SpringBoot 与 Vue3 实现前后端互联全解析
后端·ajax·前端框架·vue·springboot
键指江湖3 小时前
React 在组件间共享状态
前端·javascript·react.js
烛阴3 小时前
零基础必看!Express 项目 .env 配置,开发、测试、生产环境轻松搞定!
javascript·后端·express
诸葛亮的芭蕉扇4 小时前
D3路网图技术文档
前端·javascript·vue.js·microsoft