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

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

相关推荐
gnip1 小时前
Jst执行上下文栈和变量对象
前端·javascript
excel1 小时前
🐣 最简单的卷积与激活函数指南(带示例)
前端
醉方休2 小时前
npm/pnpm软链接的优点和使用场景
前端·npm·node.js
拉不动的猪2 小时前
简单回顾下Weakmap在vue中为何不能去作为循环数据源,以及替代方案
前端·javascript·vue.js
How_doyou_do2 小时前
数据传输优化-异步不阻塞处理增强首屏体验
开发语言·前端·javascript
奇舞精选2 小时前
超越Siri的耳朵:ASR与Whisper零代码部署实战指南
前端·人工智能·aigc
奇舞精选2 小时前
Nano Banana 如何为前端注入 AI 控制力
前端·aigc
一支鱼2 小时前
基于 Node.js 的短视频制作神器 ——FFCreator
前端·node.js·音视频开发
DT——2 小时前
前端登录鉴权详解
前端·javascript
李姆斯3 小时前
复盘上瘾症:到底什么时候该“复盘”,什么时候不需要“复盘”
前端·后端·团队管理