🎉 Nuxt Laravel Fortify 和 Sanctum 模块
这个 Nuxt 模块以 SSR 友好的方式无缝地将 Nuxt 与 Laravel Fortify 和 Sanctum 集成,提供丰富的身份验证功能。使用此模块,您可以利用 Laravel Fortify 的功能并执行基于 API 令牌和 SPA cookie 的身份验证。
🚀 功能
- 注册 📋
- 重置密码 🔄
- 邮箱验证 📧
- 更新个人资料 ✏️
- 更新密码 🔐
- 两因素身份验证 🔒
🛠️ 安装和配置
💡注意: 您需要在您的后端 Laravel 应用程序中安装并设置 Laravel Fortify、Laravel Sanctum 和 fortify-sanctum 包。fortify-sanctum 包可轻松将 Laravel Fortify 的身份验证功能与 Laravel Sanctum 集成。
将 nuxt-fortify
模块添加到您的 Nuxt 项目中
npx nuxi@latest module add nuxt-fortify
💻 Nuxt 配置
通过安装模块并在 nuxt.config.js
中进行配置,将该模块添加到您的 Nuxt 项目中。
// nuxt.config.js
export default {
modules: [
'nuxt-fortify',
],
nuxtFortify: {
baseUrl: 'https://127.0.0.1:3000/api',
origin: 'https://127.0.0.1:3000',
authMode: 'cookie',
authHome: '/dashboard',
endpoints: {
csrf: '/sanctum/csrf-cookie',
user: '/user',
// other endpoints...
},
features: {
registration: true,
resetPasswords: true,
twoFactorAuthentication: true,
// other features...
}
// other configurations...
}
}
📜 配置
键 | 数据类型 | 默认值 | 必需 |
---|---|---|---|
baseUrl | 字符串 | https://127.0.0.1:3000/api | 是 |
authMode | 字符串 | cookie | 是 |
loginRoute | endpoint | /login | 否 |
authHome | endpoint | /home | 否 |
cookieKey | 字符串 | XSRF-TOKEN | 否 |
cookieHeader | 字符串 | X-XSRF-TOKEN | 否 |
tokenStorageKey | 字符串 | API-TOKEN | 否 |
endpoints.csrf | endpoint | /sanctum/csrf-cookie | 否 |
endpoints.login | endpoint | /login | 否 |
endpoints.logout | endpoint | /logout | 否 |
endpoints.user | endpoint | /user | 否 |
endpoints.tfa.enable | endpoint | /user/two-factor-authentication | 否 |
endpoints.tfa.disable | endpoint | /user/two-factor-authentication | 否 |
endpoints.tfa.code | endpoint | /user/two-factor-qr-code | 否 |
endpoints.tfa.confirm | endpoint | /user/confirmed-two-factor-authentication | 否 |
endpoints.tfa.recoveryCode | endpoint | /user/two-factor-recovery-codes | 否 |
endpoints.tfa.challenge | endpoint | /two-factor-challenge | 否 |
endpoints.register | endpoint | /register | 否 |
endpoints.resetPassword | endpoint | /forgot-password | 否 |
endpoints.updatePassword | endpoint | /reset-password | 否 |
endpoints.confirmPassword | endpoint | /user/confirm-password | 否 |
endpoints.resendEmailVerificationLink | endpoint | /email/verification-notification | 否 |
intendedRedirect | 布尔值 | true | 否 |
features.registration | 布尔值 | true | 否 |
features.resetPasswords | 布尔值 | true | 否 |
features.emailVerification | 布尔值 | true | 否 |
features.updateProfileInformation | 布尔值 | true | 否 |
features.updatePasswords | 布尔值 | true | 否 |
features.twoFactorAuthentication | 布尔值 | true | 否 |
tfaRoute | endpoint | /two-factor-authentication | 否 |
logLevel | 数字 | 1 | 否 |
origin | 字符串 | https://127.0.0.1:3000 | 是 |
🌐 端点配置
端点键 | 路径 | 请求方法 |
---|---|---|
csrf | /sanctum/csrf-cookie | POST |
login | /login | POST |
logout | /logout | POST |
user | /user | POST |
tfa.enable | /user/two-factor-authentication | POST |
tfa.disable | /user/two-factor-authentication | DELETE |
tfa.code | /user/two-factor-qr-code | GET |
tfa.confirm | /user/confirmed-two-factor-authentication | POST |
tfa.recoveryCode | /user/two-factor-recovery-codes | GET |
tfa.challenge | /two-factor-challenge | POST |
register | /register | POST |
resetPassword | /forgot-password | POST |
updatePassword | /reset-password | POST |
confirmPassword | /user/confirm-password | POST |
resendEmailVerificationLink | /email/verification-notification | POST |
通过遵循这些步骤和配置,您将拥有一个与 Laravel Fortify 和 Sanctum 完全集成的 Nuxt 应用程序,从而提供强大的身份验证解决方案。 🚀
🤝 贡献
我们欢迎您为增强此模块做出贡献。以下是贡献步骤
- Fork 存储库:在 GitHub 上创建此存储库的 fork。
- 克隆您的 Fork:将您 fork 的存储库克隆到您的本地机器。
git clone https://github.com/dev-charles15531/nuxt-forify.git cd nuxt-fortify
- 创建分支:为您的功能或错误修复创建一个新分支。
git checkout -b feature-or-bugfix-name
- 进行更改:实现您的功能或错误修复。确保您的代码遵循项目的编码标准并通过所有测试。
- 提交更改:使用清晰简洁的提交消息提交您的更改。
git add . git commit -m "Description of the feature or fix"
- 推送到您的 Fork:将您的更改推送到您 fork 的存储库。
git push origin feature-or-bugfix-name
- 打开 Pull Request:向主存储库打开一个 pull request。提供对您更改的清晰描述以及它们解决的问题或功能。
📝 指南
- 遵循项目中使用的编码风格。
- 编写清晰简洁的提交消息。
- 确保您的代码通过所有测试,并且不会引入新问题。
- 如果您的更改影响模块的使用方式或配置,请更新文档。
📧 联系方式
如果您有任何问题或需要帮助,请随时打开一个 issue 或联系此存储库的维护者。
感谢您的贡献!非常感谢您的努力。 🙌