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

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

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

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

参考方案

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

php:是否有充分的理由引用所有数组键/索引? - php

我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…

PHP标头功能不起作用 - php

我曾经使用此功能从一个PHP页面重定向到另一个:header( 'Location: student.php?cnp='.$_REQUEST['name']) ; 在我的本地主机中,它确实可以工作,但是如果在Internet中对其进行测试,则不会重定向。我也尝试给出完整的路径(如http://.../student.p…

PHP数组可以这样做吗? - php

可以说;我有一个$ friends数组,其中有2,000个不同的friendID号+我有一个带有10,000 bulletinID号的$ bulletins数组,该$ bulletins数组还将具有另一个值,该ID的用户ID是发布公告条目的用户现在可以获取所有具有与FriendsID数组中的userID匹配的userID的bulletinID号吗?甚至有可能…

PHP中的可选函数输入 - php

我注意到在一些内置的PHP函数中,例如str_replace,有一些可选的输入变量。我可以在自己的函数中有可选的输入变量吗?如果是这样,怎么办?谢谢,布赖恩 php参考方案 第一种方法是对某些参数使用默认值:function doStuff($required, $optional = '', $optional2 = '�…

如何在jQuery中使用Ajax向数组传递值并在PHP页面中获取值 - php

我有一个ajax发布参数,如下所示:$.ajax({ url:'url', data:{ary:my_ary}, ... my_ary = Array([0]=> Test Text,[1]=> test Text2)中的值现在,我需要使用如下的foreach()循环从此数组中获取值: foreach($_POST['…