身份认证
认证和授权是两种安全过程,帮助你控制谁可以访问你的网站或应用的不同部分。认证是确认访客身份的过程,而授权是允许访客访问受保护的路由和资源的过程。
认证允许你为登录的个人定制你的网站的特定区域,并为个人或私人信息提供最大程度的保护。认证库(例如 Lucia Auth、Auth.js)为多种认证方法提供了实用工具,如电子邮件登录和 OAuth 提供商。
Astro 没有官方的认证解决方案,但你可以在集成目录中找到 社区的 “auth” 集成。
Lucia
段落标题 LuciaLucia 是一个与框架无关、基于会话的认证库,对 Astro 支持良好。
安装
段落标题 安装使用你选择的包管理器安装 Lucia。
配置
段落标题 配置使用 Lucia 的 “Astro 入门” 指南来初始化 Lucia 并配置一个适配器,设置一个数据库来存储用户和会话信息。
使用方法
段落标题 使用方法遵循 Lucia 的完整 Astro 教程之一,向你的 Astro 项目添加 用户名和密码认证 或 GitHub OAuth。
下一步
段落标题 下一步Auth.js
段落标题 Auth.jsAuth.js 是一个与框架无关的认证解决方案。社区框架适配器 auth-astro
可用于 Astro。
安装
段落标题 安装使用你偏好的包管理器的 astro add
命令来添加 astro-auth
集成。
手动安装
段落标题 手动安装要手动安装 astro-auth
,请为你的包管理器安装所需的包:
然后,使用 integrations
属性将集成应用到你的 astro.config.*
文件中:
配置
段落标题 配置在你的项目根目录中创建一个 auth.config.mjs
文件。添加你希望支持的任何认证 提供商 或方法,以及它们所需的任何环境变量。
如果你的项目根目录中还没有 .env
文件,请创建一个。添加以下两个环境变量。AUTH_SECRET
应该是一个至少包含 32 个字符的私有字符串。
使用方法
段落标题 使用方法你可以使用 auth-astro/client
模块,在脚本标签或客户端框架组件中添加登录和登出按钮。
你可以使用 getSession
方法获取用户的会话信息。