野狼 / 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: 认证用户。期望:数组,新的签名负载。