2017-05-15 19 views
0

最近私のサイトにWP REST APIがインストールされていて、うまく機能しています。しかし、問題は、データが、認証を規制していないオープンURLを介して一般に公開されていることです。たとえば、wp-json/wp/v2/postsへのgetリクエストは、すべての投稿詳細をユーザに一覧表示します。WP REST API GETリクエストの認証

GET Requests to WordPress REST APIを認証する方法はありますか?私はこのデータを匿名ユーザーが利用できるようにしたくありません。基本的な認証でさえ私のために働くはずです!あなたがあなたのテーマにこのコードを追加することができますプラグインを使用したくない場合は https://wordpress.org/plugins/disable-json-api/

または

if(! is_user_logged_in()) { 
add_filter('rest_authentication_errors', 'ultimatewoo_disable_rest_api'); 
function disable_rest_api($access) { 
    return new WP_Error('rest_disabled', __('The REST API on this site has been disabled.'), array('status' => rest_authorization_required_code())); 
}} 

答えて

0

あなたは、このプラグインを使用してログインしているユーザーのためにのみWPのREST APIを制限することができますこのコードでそのコードを変更します。

add_filter('rest_authentication_errors', function($result) { 
if (! empty($result)) { 
    return $result; 
} 
if (! is_user_logged_in()) { 
    return new WP_Error('restx_logged_out', 'Sorry, you must be logged in to make a request.', array('status' => 401)); 
} 
return $result; 
}); 
+0

こんにちはライアンAW、あなたの答えのための 感謝。私はWordPressからREST API経由で自分のモバイルアプリケーションに詳細を取得しています。私はRESTを自分のモバイルアプリケーションに対してのみアクセス可能にしたい(要求を取得する)。オプションはありますか? –

+0

私の2番目の答えはリクエストを受けても有効です。関数内にそのコードを追加します。それがあなたのために働いているかどうか、あるいは@Abdussamad –

0

あなたが試すことができ