为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
扬帆大鱼 2021-05-12 10:12:58
我已经使用“ WP-API的JWT身份验证”插件登录并生成令牌。在JSON响应中,我只有wp_users表格中的一些数据。我如何更改它以从wp_usermeta响应表中获取其他一些值,因为我想知道用户状态级别。
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您需要使用过滤器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,

                ]

            ]

];


查看完整回答
反对 回复 2021-05-28
  • 1 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信