Wordpress REST APIを使用してログインし、Androidアプリでユーザーデータを取得したいです。
ユーザー用にwp_usersテーブル、ユーザー情報用にカスタムテーブルを使用しています。
私は自分自身のREST APIを書いてみましたが、そのために私は$ wpdbをWordpressのインストールの外でアクセス可能にしなければなりません。
API-KEYなどの機能を備えたソリューションを提供してください。
ありがとう
私はWP-REST APIを使った最も簡単な解決策を見つけました。最初にこのプラグインをあなたの環境に設定してください:
1.)テーマfunctions.php
にAPIエンドポイントフックを登録します。
add_action( 'rest_api_init', 'register_api_hooks' );
// API custom endpoints for WP-REST API
function register_api_hooks() {
register_rest_route(
'custom-plugin', '/login/',
array(
'methods' => 'POST',
'callback' => 'login',
)
);
function login() {
$output = array();
// Your logic goes here.
return $output;
}
2.)デフォルトでは、かなりパーマリンクが有効になっている場合、WordPress REST APIは/ wp-json /に「存在します」。それから、APIエンドポイントはPOST
リクエストでyoudomain.com/wp-json/custom-plugin/login
でアクセス可能です。
custom-plugin/login が実際に register_rest_route _ PHP function register_api_hooks() に定義されていることに注意してください。
APIキーのために私はWordpressのNoncesを使用しています - ここでの議論のようにかなり簡単です 。これらの答えが、Wordpress REST APIに不慣れなすべてのフルスタック開発者に役立つことを願っています。
単にユーザーログインしてユーザー詳細を取得したい場合は、 "JSON API AUTH"という優れたプラグインを使用できます
https://wordpress.org/plugins/json-api-auth/ /
以下のメソッドが利用可能です:validate_auth_cookie
、generate_auth_cookie
、clear_auth_cookie
、get_currentuserinfo
nonceはhttp://localhost/api/get_nonce/?controller=auth&method=generate_auth_cookie
を呼び出すことで作成できます
その後、 'nonce'値を使ってクッキーを生成することができます。 http://localhost/api/auth/generate_auth_cookie/?nonce=f4320f4a67&username=Catherine&password=password-here
他のコントローラ呼び出しでこのようにcookieを使用します。http://localhost/api/contoller-name/method-name/?cookie=Catherine|1392018917|3ad7b9f1c5c2cccb569c8a82119ca4fd