野狼 / wp-jwt-auth
WordPress插件,用于REST API的JWT身份验证
dev-master
2023-03-29 00:44 UTC
Requires
- php: >= 7.4
- composer/installers: ^2.0
- firebase/php-jwt: ^6.0
- wildwolf/singleton-trait: ^1.0
- wildwolf/wp-request-context: ^1.0
Requires (Dev)
- automattic/vipwpcs: ^2.3
- johnpbloch/wordpress-core: ^5.8
- php-stubs/wordpress-stubs: ^5.8
- phpcompatibility/phpcompatibility-wp: ^2.1
- phpunit/phpunit: ^7
- psalm/plugin-phpunit: ^0.16.1
- vimeo/psalm: ^4.15
- wildwolf/phpunit7-php8-helper: ^1.0
- wildwolf/wordpress-test-library-stubs: ^5.8
- wp-cli/i18n-command: ^2.2
- wp-coding-standards/wpcs: ^2.3
- wp-phpunit/wp-phpunit: ^5.8
- yoast/phpunit-polyfills: ^1.0
This package is auto-updated.
Last update: 2024-08-29 05:37:05 UTC
README
WordPress插件,用于REST / XML-RPC API的JWT身份验证
安装
Composer方式
composer require wildwolf/wp-jwt-auth
然后转到管理员仪表板,插件,找到并激活“WW JWT Auth”插件
手动方式
从发布中获取插件zip文件,然后转到管理员仪表板,插件,新增,上传插件。选择zip文件,然后点击安装。最后,激活插件。
REST API身份验证
该插件使用bearer authentication(也称为token authentication)来验证用户。
要验证请求,您需要有一个JWT。然后您需要设置Authorization
头
Authorization: Bearer jwt-goes-here
API
REST API
生成令牌
POST /wp-json/wildwolf/jwtauth/v1/generate
或
POST /wp-json/jwt-auth/v1/token
请求体
username
: 登录名;password
: 密码。
成功响应:状态码:200 JSON对象
token
: JWT令牌;user_email
: 用户电子邮件地址;display_name
: 用户显示名称。
失败:状态码:403表示身份验证失败,500表示配置错误(JWT密钥未设置)
验证令牌
GET /wp-json/wildwolf/jwtauth/v1/verify
或
GET /wp-json/jwt-auth/v1/token/validate
必需头
Authorization: Bearer JWT-goes-here
成功响应:状态码:200
失败:状态码:403
WordPress过滤器
jwt_auth_not_before
用于过滤令牌的nbf
(不早于)声明。参数
int $value
: 过滤值;设置为iat
(发布时间)声明的值;int $iat
: 原始未过滤的iat
值。期望:整数,新的nbf
声明值。
jwt_auth_not_after
用于过滤令牌的exp
(过期)声明。参数
int $value
: 过滤值;设置为iat
(发布时间)的值加上JWT TTL设置值;int $iat
:iat
值;int $ttl
: JWT生存时间值。期望:整数,新的exp
声明值。
jwt_auth_token_before_sign
用于在签名之前过滤JWT负载。参数
array $token
: JWT负载。默认情况下,它包含以下字段iss
: 令牌发行者;等于网站的URL(get_bloginfo( 'url' )
);iat
: 令牌发布的时刻;nbf
: JWT必须不被接受处理的时刻之前的时间;exp
: JWT必须不被接受处理的过期时间或之后的时刻;sub
: 用户的ID
WP_User $user
: 认证用户。期望:数组,新的签名负载。