vuetober / rainlab-user-api
Requires (Dev)
- fzaninotto/faker: ~1.7
- mockery/mockery: ~1.0
- phpunit/phpunit: ~6.5
This package is auto-updated.
Last update: 2022-11-29 03:02:12 UTC
README
为 RainLab.User 提供一个简单且可扩展的 HTTP API。
安装与配置
要安装 API,请在 October 根目录下运行以下命令
git clone git@github.com:scottbedard/rainlab-user-api.git plugins/bedard/rainlabuserapi
默认情况下,所有路由都位于 /api/rainlab/user
前缀之后。要覆盖此设置,请将以下内容添加到 October 安装根目录下的 .env
文件中。或者,您可以使用 October 的 基于文件的配置。
RAINLAB_USER_API_PREFIX="/your/custom/prefix"
要完全禁用 API,请添加以下环境变量
RAINLAB_USER_API_ENABLE=false
基本用法
要获取已认证用户,请使用 AccountManager
类。
use Bedard\RainLabUserApi\Classes\AccountManager; $user = AccountManager::getAuthenticatedUser();
使用此方法获取 User
模型将触发 bedard.rainlabuserapi.afterGetUser
事件。当需要与用户相关的其他数据时,这可能很有用。例如,这里我们将配置 API 以加载用户的头像。
public function boot() { Event::listen('bedard.rainlabuserapi.afterGetUser', function ($user) { $user->load(['avatar']); }); }
添加中间件
所有端点都使用一个可以扩展的基本控制器。这可以用来添加中间件,使响应与 API 的其余部分保持一致。为此,请将以下内容添加到您的 Plugin.php
文件中。有关使用中间件的更多信息,请参阅 October 文档。
public function boot() { \Bedard\RainLabUserApi\Classes\ApiController::extend(function($controller) { $controller->middleware('Path\To\Custom\Middleware'); }); }
端点
POST: /api/rainlab/user/auth/login
认证用户。
ANY: /api/rainlab/user/auth/logout
注销已认证用户。
ANY: /api/rainlab/user/auth/stop-impersonation
停止冒充用户。
POST: /api/rainlab/user/users
创建用户并触发激活流程。
GET: /api/rainlab/user/users/activate/{code}
激活新用户。
POST: /api/rainlab/user/users/forgot-password
向用户发送重置密码的链接。
POST: /api/rainlab/user/users/reset-password
重置用户密码。
GET: /api/rainlab/user/account
获取认证用户的信息。此路由使用 AuthMiddleware
,访问它需要认证。
POST: /api/rainlab/user/account
更新认证用户的信息。此路由使用 AuthMiddleware
,访问它需要认证。当启用安全密码更新时,必须在请求中包含用户的当前密码作为 password_current
。
DELETE: /api/rainlab/user/account/avatar
删除认证用户的头像。此路由使用 AuthMiddleware
,访问它需要认证。
许可证
版权 (c) 2018-现在,Scott Bedard。