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.beforeRegisterWinter.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
