signifly/laravel-janitor

轻松添加登录代理到您的Laravel API。

v1.3.3 2023-08-03 11:08 UTC

This package is auto-updated.

Last update: 2024-09-22 17:24:40 UTC


README

轻松添加登录代理到您的Laravel API

Latest Version on Packagist Tests StyleCI Quality Score Total Downloads

signifly/laravel-janitor 包允许您轻松将登录代理添加到您的Laravel API。

您可以找到两篇文章,引导您开始使用

文档

要开始,您必须安装 laravel/passporttymon/jwt-auth。请参阅它们的文档以了解如何配置这些包。

注意:目前支持的 tymon/jwt-auth 版本是 1.0.0-rc.*

安装

您可以通过 composer 安装此包

composer require signifly/laravel-janitor

包将自动注册自身。

您可以选择使用以下命令发布配置文件

php artisan vendor:publish --tag="janitor-config"

在引入包和(可选)发布配置后,将路由添加到您的 routes/api.php 文件中

Janitor::routes();

它将默认添加以下路由

  • 通过用户名和密码登录 (/login)
  • 刷新当前用户访问令牌 (/login/refresh)
  • 用户登出 (/logout)
  • 发送密码重置电子邮件 (/password/email)
  • 重置密码 (/password/reset)

您也可以通过传递一个闭包来定义特定的路由集

Janitor::routes(function ($router) {
    // Login and logout routes
    $router->forAuthentication();

    // Password reset routes
    $router->forPasswordReset();
});

最后,将 JANITOR_DRIVER=driver-name 添加到您的 .env 文件中。

支持的驱动程序有: passportjwt

注意:它不支持默认驱动程序,如果省略则抛出 InvalidArgumentException

重置密码

为了在API中使用重置密码实现,您必须向用户模型添加一个自定义重置密码通知。

// App\User.php

/**
 * Send the password reset notification.
 *
 * @param  string  $token
 * @return void
 */
public function sendPasswordResetNotification($token)
{
    $this->notify(new ResetPasswordNotification($token));
}

通知应该格式化一个正确的链接到您的客户端应用程序的重置密码URL。

测试

composer test

安全

如果您发现任何安全问题,请通过电子邮件 dev@signifly.com 联系我们,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件