nisam / passport-api
自动设置Laravel 8及更高版本中的API认证,提供现成的路由和控制器。类似于Laravel Breeze API。
Requires
- php: ^7.3|^8.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
Suggests
- laravel/framework: Required for Laravel 11 support (^11.0)
- laravel/passport: Required for Passport 12 support (^12.0)
README
Nizam Passport API 是一个Laravel包,旨在通过Laravel Passport简化API认证设置。该包与Laravel 8、9、10和11版本兼容,通过自动化安装和配置过程简化Passport集成,非常适合仅API的项目。
功能
- 自动安装Laravel Passport: 确保Passport已安装和配置。🚀
- API认证框架: 提供必要的控制器、请求和路由。🛠️
- 配置更新: 自动更新
api.php
、web.php
,并追加到auth.php
以使用Passport。🔧 - 用户模型更新: 将
HasApiTokens
特质添加到用户模型。👤 - 环境配置: 使用默认设置更新
.env
。🌐 - 认证配置更新: 如果不存在,将API保护器添加到
auth.php
配置文件,并使用Passport驱动程序。这确保了您的应用程序使用Passport的TokenGuard对传入的API请求进行认证。🛡️ - 清理: 删除仅API应用程序不需要的文件和目录。🗑️
要求
- PHP ^7.3|^8.0
- Laravel ^8.0|^9.0|^10.0|^11.0
- Laravel Passport ^10.0|^11.0|^12.0
安装
-
安装Nizam Passport API包
composer require nizam/passport-api
-
设置Passport API
php artisan nizam:install-passport-api
此命令将
- 检查并安装Laravel Passport(如果需要的话)
- 设置所需的控制器、请求和路由
- 将
HasApiTokens
特质添加到用户模型 - 更新您的
auth.php
配置以使用Passport作为API驱动程序 - 更新您的
web.php
和api.php
配置 - 使用默认URL设置修改
.env
- 清理不必要的文件和目录
使用方法
此包提供了以下API路由
-
POST /api/auth/register: 注册新用户 📝
-
POST /api/auth/login: 用户登录 🔑
-
POST /api/auth/logout: 用户登出(需要认证) 🚪
-
POST /api/auth/forgot-password: 发送密码重置链接 📧
-
POST /api/auth/reset-password: 重置用户密码 🔄
-
GET /api/auth/verify-email/{id}/{hash}: 验证电子邮件地址(需要认证) ✔️
-
POST /api/auth/email/verification-notification: 重新发送电子邮件验证通知(需要认证) 🔄
-
GET /api/auth/user: 获取认证用户信息(需要认证) 🧑💻
配置
安装后,请确保您的应用程序的config/auth.php
配置文件包括具有Passport驱动的API认证保护器。此配置指示应用程序使用Passport的TokenGuard对传入的API请求进行认证。
示例
要查看集成和设置的演变过程,您可以查看存储库提交之间的差异。有关更改的具体示例,请查看提交历史。
报告问题
如果您遇到任何问题或对改进有建议,请按照以下步骤报告
- 检查现有问题: 在创建新问题之前,请检查问题标签页,查看问题是否已被报告。
- 创建新问题: 如果问题尚未报告,请点击“新建问题”按钮,并详细描述问题。包括
- 清晰的标题
- 问题的详细描述
- 重现问题的步骤
- 任何错误信息或日志
- 您正在使用的Laravel和Laravel Passport版本
- 提交问题: 提供所有必要信息后,提交问题。维护者将尽快审查并处理。
许可证
本软件包采用MIT许可证。有关详细信息,请参阅LICENSE文件。
致谢
- Nizam Omer - 软件包作者和维护者
感谢
感谢您使用Nizam Passport API!特别感谢我的上帝,所有贡献者、测试者和提供反馈的人。您的支持非常宝贵。希望这个软件包能帮助您在API开发之旅中。🙏