POSTMAN 和 Wordpress JWT:连接失败:php_network_getaddresses:getaddrinfo 失败:名称或服务未知

问题描述 投票:0回答:1

我按照说明安装了 JWT,并通过 POSTMAN 测试了 /wp-json/jwt-auth/v1/token 休息点。但我在这里得到这样的回应:

连接失败:php_network_getaddresses:getaddrinfo 失败:名称或服务未知

有什么提示吗?

顺便说一句:/wp-json/jwt-auth/v1/token/validate 有效!

当我对那个休息点进行内部调用时,也许有些事情搞砸了?这是我拨打电话的方法:

$request = new WP_REST_Request( ‘POST’, ‘/jwt-auth/v1/token’ );
$request->set_header(“Content-Type”,”application/json”);
$request->set_body(‘{“username”: “‘.$username.'”,   “password”: “‘.$password.'”}’);
$response = rest_do_request( $request );
$server = rest_get_server();
$data = $server->response_to_data( $response, false );
$response = $data;

顺便说一句,这个电话有效!只是从外部无法访问。

编辑:这似乎与自定义过滤器有关。当我停用过滤器时,休息点再次起作用。在此处检查带有注释掉的过滤器的扩展名:

function extend_token( $data, $user ) {

  $isProvider = get_user_meta($user->ID, "isProvider", true); 

  if($isProvider == true)
  {
    $data['isProvider'] = 'true';
    $profileData = get_profile_data_by_userId($user->ID);
    $data = array_merge($data, $profileData); 
    $unitData = get_unit_data_by_userId($user->ID);
    $data = array_merge($data, $unitData); 
    $offerData = get_offer_data_by_userId($user->ID);
    $data = array_merge($data, $offerData);     
    $eventData = get_event_data_by_userId($user->ID);
    $data = array_merge($data, $eventData);         
  }  
    return $data;  
}
//add_filter( 'jwt_auth_token_before_dispatch', 'extend_token', 10, 2 );
php wordpress jwt
1个回答
0
投票

我发现了这个问题,extend_token函数调用了其他子函数,其中包含带有无效参数的数据库连接。所以我修复了连接,它再次工作了。

© www.soinside.com 2019 - 2024. All rights reserved.