Я новичок во Flutter и создаю во Flutter приложение для ранее существовавшего сайта WordPress.
В настоящее время я использую пакет flutter_wordpress 0.1.4 и плагин «Аутентификация JWT для WP REST API» на сайте WordPress, чтобы попытаться аутентифицировать пользователей (участников). (https://pub.dev/packages/flutter_wordpress и https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/)
Проблема в том, что при аутентификации пользователей без прав администратора возникает ошибка:
flutter: Failed to fetch user: WordPress Error! code: wp_empty_list, message: No users found, status: null
И даже когда я использую учетную запись администратора, я не получаю токен или какую-либо информацию о пользователе, кроме имени и идентификатора.
Вот код флаттера для моего экрана входа в систему:
import 'package:flutter_wordpress/flutter_wordpress.dart' as wp;
import 'package:flutter/material.dart';
class SignUpScreen extends StatefulWidget {
static const id = 'sign_up_screen';
@override
_SignUpScreenState createState() => _SignUpScreenState();
}
class _SignUpScreenState extends State<SignUpScreen> {
static final wp.WordPress wordPress = wp.WordPress(
baseUrl: 'https://example.com',
authenticator: wp.WordPressAuthenticator.JWT,
adminName: '',
adminKey: '',
);
void authUser({userName, password}) {
Future<wp.User> response = wordPress.authenticateUser(
username: userName,
password: password,
);
response.then((user) {
print(user);
}).catchError((err) {
print('Failed to fetch user: $err');
});
}
Обратите внимание, что если я использую Postman для отправки имени пользователя и пароля на конечную точку /wp-json/jwt-auth/v1/token
, ответ дает token
, user_email
, user_nicename
, user_display_name
, даже для admin, так что, похоже, он правильно настроен на сайте WordPress, так как это правильный ответ.
РЕДАКТИРОВАТЬ: Кроме того, я забыл сказать, что я нашел этот пост переполнения стека, который очень связан: Может не аутентифицировать пользователя, который не является администратором Но проблема в том, что я не понимаю, что означала эта часть - «разрешение каждому доступу к / wp-json / wp / v2 / users в конфигурации вашего сервера / jwt исправит это» . "