②ログイン用のAPIエンドポイントをWordPressに設定
functions.phpに下記コードを記述
function login_user(WP_REST_Request $request) {
$username = sanitize_text_field($request->get_param('username'));
$password = sanitize_text_field($request->get_param('password'));
if (!$username || !$password) {
return new WP_Error('missing_data', 'ユーザー名とパスワードは必須です', array('status' => 400));
}
$user = wp_authenticate($username, $password);
if (is_wp_error($user)) {
return new WP_Error('invalid_credentials', 'ログインに失敗しました', array('status' => 401));
}
return rest_ensure_response(array('status' => 'success', 'user_id' => $user->ID));
}
add_action('rest_api_init', function () {
register_rest_route('custom-api/v1', '/login/', array(
'methods' => 'POST',
'callback' => 'login_user',
'permission_callback' => '__return_true'
));
});