2017-12-20 10 views
-2

프로젝트에 WP REST API를 사용하고 일부 사용자 정의 끝점을 만들려고합니다. 나는 this documentation을 따라 갔고 끝점을 만들었습니다. 그러나 인증 방법은 모두 OAuth 또는 쿠키 방법을 참조합니다. 인증을 사용하여 원격 주소에서 내 사용자 지정 끝점에 대한 요청을하고 싶습니다. 헤더를 통한 기본 인코딩 된 암호 문은 작동 할 수 있지만 끝점에서 구현할 수있는 방법을 알지 못합니다. 가능한가요?원격 요청을 인증하는 Wordpress REST API

+1

당신이 포함시겠습니까 이미 시도한 코드 스 니펫과 y 오류 또는 예기치 않은 출력이 발생했습니다 –

+0

주제에 관한 질문은 [내가 ~ 할 수있는 주제] (https://stackoverflow.com/help/on-topic)와 [피할 주제는 무엇입니까? (https : //stackoverflow.com/help/dont-ask) 및 [질문하는 방법] (https://stackoverflow.com/help/how-to-ask) 및 [완벽한 질문] (https : // (https://stackoverflow.com/help/mcve) 및 [둘러보기] (https : // stackoverflow)를 참조하십시오. .com/tour) –

답변

0

손님 여러분 엔드 포인트 조치 rest_api_init

인증 자명 : - admin 및 암호 : - 조건이 if($_SERVER['PHP_AUTH_USER'] !== 'admin' || $_SERVER['PHP_AUTH_PW'] !== 'admin')

엔드 포인트 URL이 admin

인증 확인하는 경우 : http://localhost/demo/wp-json/myplugin_api/v1/test_endpoint

<?php 

add_action('rest_api_init', 'myplugin_register_endpoint'); 
function myplugin_register_endpoint() { 

    register_rest_route('myplugin_api/v1', 'test_endpoint', array(
     'methods' => 'GET,POST', 
     'callback' => 'myplugin_test_endpoint', 
    )); 
}  

function myplugin_test_endpoint() 
{ 


    if($_SERVER['PHP_AUTH_USER'] !== 'admin' || $_SERVER['PHP_AUTH_PW'] !== 'admin') 
    { 

    header("WWW-Authenticate: Basic realm=\"thetutlage\""); 
    header("HTTP\1.0 401 Unauthorized"); 


      $response = array(
      "result"=>false, 
      "message"=>'Authenticate failed' 
      ); 

     return $response; 
    exit; 

    } 

    $response = array(
     "result"=true, 
     "message"=>'Success'   
     ); 

    return $response; 
}