planetadeleste / oc-jwtauth-plugin
OctoberCMS 的 JSON Web Token 认证插件,与 Lovata.Buddies 集成
Requires
- php: >=7.2
- tymon/jwt-auth: dev-develop
README
简介
此插件是 rluders/oc-jwtauth-plugin 的分支,已适配用于与 Lovata.Buddies 插件而不是 RainLab.Users。
此插件为 OctoberCMS 提供了与 Lovata.Buddies 集成的 JSON Web Tokens 认证机制。对于使用 Angular、Vue.js、React 或其他现代 JavaScript 框架构建的 Web 应用程序至关重要。
要求
- Lovata.Buddies 插件
- RLuders.CORS 插件(可选,但推荐)
主题
教程
安装
是的,您可以从中包仓库安装它(但我不提供文档 - 在这种情况下,我将假设您知道自己在做什么)。我强烈建议您从 OctoberCMS 市场中的 产品页面 安装。
配置
您必须为您的应用程序设置一个密钥令牌。要在 October 后端中完成此操作,请访问:设置 > 用户 > JWTAuth
用法
以下是此插件可用的端点列表。
登录
POST /api/auth/login
路由名称
api.auth.login
参数
字段
login
的值可以是账户username
。您可以在RainLab.User
配置中选中应使用哪个字段进行登录。
响应
成功
代码:200
{ token: (string), user: (object) }
错误
代码:401
{
error: (invalid_credentials|could_not_create_token|user_inactive|user_is_banned)
}
注册
POST /api/auth/register
路由名称
api.auth.register
参数
字段
username
可以为 必需。这取决于您的RainLab.User
配置。
响应
成功
代码:201
[]
错误
代码:401
{
error: (object|registration_disabled)
}
支持的事件
rainlab.user.beforeRegister
rainlab.user.register
账户激活
POST /api/auth/account-activation
路由名称
api.auth.account-activation
参数
响应
成功
代码:200
[]
错误
代码:422
{
error: (invalid_activation_code|invalid_user|user_not_found)
}
忘记密码
POST /api/auth/forgot-password
路由名称
api.auth.forgot-password
参数
响应
成功
代码:200
[]
错误
代码:404
{
error: (user_not_found)
}
重置密码
POST /api/auth/reset-password
路由名称
api.auth.reset-password
参数
响应
成功
代码:200
[]
错误
代码:422
{
error: (invalid_reset_password_code|invalid_user|invalid_reset_password_code)
}
刷新令牌
POST /api/auth/refresh-token
路由名称
auth.api.refresh-token
参数
响应
成功
代码:200
{
token: (string)
}
错误
代码:403
{
error: (could_not_refresh_token|given_token_was_blacklisted)
}
获取用户
GET /api/auth/me
中间件
jwt.auth
路由名称
api.auth.me
参数
响应
成功
代码:200
{
user: (object)
}
错误
代码:404
{
error: (user_not_found)
}
已知问题
尽管我一直在努力解决可能出现的问题,但仍然可能发生意外。以下是可能的问题及其解决方法。
Apache 用户注意事项
为了使用授权 Bearer 令牌,您必须将以下代码添加到您的 .httaccess
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
许可
GPLv3