vuetober / rainlab-user-api

此包已被废弃,不再维护。未建议替代包。
关于此包最新版本(1.0.0)没有可用的许可证信息。

安装: 9

依赖: 0

建议者: 0

安全性: 0

星标: 8

关注者: 2

分支: 3

类型:october-plugin

1.0.0 2019-11-24 19:41 UTC

This package is auto-updated.

Last update: 2022-11-29 03:02:12 UTC


README

Build status Code coverage Code style MIT License

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,访问它需要认证。

许可证

MIT

版权 (c) 2018-现在,Scott Bedard。