分类分类
更新时间:2026-02-18 20:21:49作者:fang
* A {@see WP_Error} instance can be returned if an error occurs, and
* this should match the format used by API methods internally (that is,
* the `status` data should be used). A callback can return `true` to
* indicate that the authentication method was used, and it succeeded.
*
* @param WP_Error|null|boolean WP_Error if authentication error, null if authentication method wasn't used, true if authentication succeeded
*/
return apply_filters( 'json_authentication_errors', null );
}
基于上面的这个函数以及其被调用位置,我们可以加进去一个hook,以确认认证是否成功:
/**
* WP JSON API 认证检查
* @param null
* @return boolean 是否认证成功
* @author suifengtec coolwp.com
*/
function coolwp_rest_api_auth_check( $result ){
if(
!isset($_GET['id'])
// ||!isset($_GET['app_key'])
||!isset($_GET['app_token'])
||empty($_GET['id'])
// ||empty($_GET['app_key'])
||empty($_GET['app_token'])
){
return false;
}
//获取从应用GET过来的用户id、app_key和app_token,当然了,你也可以只用一个去app_key和app_token中的任何一个去检查
$user_id = (int)$_GET['id'];
// $app_key = sanitize_text_field($_GET['app_key']);
$app_token = sanitize_text_field($_GET['app_token']);
//查询app_key和app_token,当然了,你也可以自定义一种算法,
//$wp_key = get_user_meta( $user_id, 'app_key', true);
$wp_token = get_user_meta( $user_id, 'app_token', true);
//将从应用客户端获取到的值与数据库存储的值进行对比
if(
( $wp_token == $app_token )
// &&( $wp_key == $app_key )
){
return true;
}
return false;
}
add_filter('json_authentication_errors', 'coolwp_rest_api_auth_check');
结论
加入 rest api 的 WordPress 甚至可以让你做一个在线支付网站,有了这组 api ,基于 WordPress 的原生安卓应用和IOS应用可以更好的与 WordPress 站点进行交互。
相关
归墟战纪策略游戏262.92 MBv3.95802026-02-14
下载爆裂老奶策略游戏209.43 MBv1.0.112026-02-14
下载超能下蛋鸭策略游戏395.4 MBv1.2.82026-02-14
下载你好盒子实用工具12.1 MBv2.2.852026-02-14
下载我在峡谷当牛马休闲益智87.95 MBv0.7.12026-02-14
下载抽卡监狱2策略游戏190.75 MBv1.4.92026-02-14
下载Campus社交通讯94.36 MBv1.19.02026-02-14
下载冒险传奇角色扮演141.73 Mv9991.12026-02-14
下载心动次元app社交通讯43.96 Mv1.0.1.32026-02-14
下载致亲爱的我角色扮演1.63Gv1.02026-02-14
下载狼伴侣游戏手机版冒险游戏155.6 Mv1.02026-02-14
下载Loclike社交通讯169.08 Mv2.2.112026-02-14
下载










