野狼/wp-jwt-auth

WordPress插件,用于REST API的JWT身份验证

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