Я создаю приложение-флаттер и хочу, чтобы пользователи могли проходить аутентификацию, используя свои учетные данные WordPress.
Я использую https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/#description и https://github.com/dreamsoftin/flutter_wordpress, чтобы сделать это проще.
import 'package:flutter/material.dart';
import 'package:flutter_wordpress/flutter_wordpress.dart' as wp;
void main() => runApp(MyApp());
wp.WordPress wordPress = wp.WordPress(
baseUrl: 'https://sandbox.myfprod.fr/',
authenticator: wp.WordPressAuthenticator.JWT,
adminName: '',
adminKey: '',
);
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Material App',
home: Scaffold(
appBar: AppBar(
title: Text('Material App Bar'),
),
body: Center(
child: Container(
child: Column(
children: <Widget>[
TextField(
obscureText: false,
decoration: InputDecoration(labelText: 'Email'),
),
TextField(
obscureText: false,
decoration: InputDecoration(labelText: 'Password'),
),
RaisedButton(
child: Text('Login'),
onPressed: () {
Future<wp.User> response = wordPress.authenticateUser(
username: '•••••••••••',
password: '•••••••••••',
);
response.then((user) {
print(user);
}).catchError((err) {
print('Failed to fetch user: $err');
});
},
)
],
),
),
),
),
);
}
}
Этот код работает, только если пользователь имеет роль администратора, и я хочу аутентифицировать всех пользователей независимо от их роли.
И у меня есть еще одна проблема: у меня нет доступа ко всем свойствам пользователя. Например email.email
возвращает null