rluders / jwtauth
Winter CMS 的 JSON Web Token 认证插件
Requires
- php: >=7.0
- composer/installers: ~1.0
- php-open-source-saver/jwt-auth: ^2.1
- winter/wn-user-plugin: ^2.0
README
简介
此插件为 Winter CMS 提供了与 Winter.User
集成的 JSON Web Tokens 认证机制。对于使用 Angular、Vue.js、React 或其他现代 JavaScript 框架构建的 Web 应用程序来说,这是必不可少的。
要求
- Winter.User 插件
- RLuders.CORS 插件(可选,但推荐)
主题
教程
安装
$ composer require rluders/jwtauth
配置
您必须在 Winter 后端设置应用程序的密钥令牌。要做到这一点,在 Winter 后端访问:设置 > 用户 > JWTAuth
使用方法
以下是此插件可用的端点列表。
登录
POST /api/auth/login
路由名称
api.auth.login
参数
字段
login
的值可以是账户username
。您可以在Winter.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
可以是 必需的。这取决于您的Winter.User
配置。
响应
成功
代码:201
[]
错误
代码:401
{ "error": object | registration_disabled }
支持的事件
Winter.User.beforeRegister
Winter.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