猿问

如何更改WP-API的JWT身份验证上的JSON响应?

我已经使用“ WP-API的JWT身份验证”插件登录并生成令牌。

在JSON响应中,我只有wp_users表格中的一些数据。

我如何更改它以从wp_usermeta响应表中获取其他一些值,因为我想知道用户状态级别。


扬帆大鱼
浏览 182回答 1
1回答

素胚勾勒不出你

您需要使用过滤器jwt_auth_token_before_sign或jwt_auth_token_before_dispatch。第一过滤器接收令牌数据和用户对象。在其他插件或主题中,您需要致电add_filter。我对自己的Wordpress有点生锈,并且我没有方便的WP实例来测试这一点,但这是一般的理论:基本示例:add_filter('jwt_auth_token_before_sign', 'add_user_info_jwt', 10, 2);function add_user_info_jwt($token, $user) {    // fetch whatever information you want from the user, probably using the $user    // object as starting point.    $token['roles'] = implode(',', $user->roles);;    return $token;}在$token您收到都会有这样的开始结构和信息:$token = [            'iss'  => get_bloginfo( 'url' ),            'iat'  => $issuedAt,            'nbf'  => $notBefore,            'exp'  => $expire,            'data' => [                'user' => [                    'id' => $user->data->ID,                ]            ]];
随时随地看视频慕课网APP
我要回答