Я разработал мобильное приложение с реагировать нативно, где я использую Firebase в качестве бэкенда.Сейчас я разрабатываю веб-сайт с WordPress для этого приложения, и мне нужно использовать базу данных Firebase (FireStore) и аутентификацию на моем сайте.
Итак, у меня есть форма регистрации на моем сайте, и я использую ловушку действиячтобы получить данные, пользователь ввел их. Теперь я хочу использовать эти данные и аутентифицировать пользователя с помощью firebase auth.
Я использовал функции firebase в Javascript сейчас в своем приложении, но для этого случая мне нужен PHP.
Я думаю, что Firebase-Admin-SDK для PHP - правильный выбор.https://firebase -php.readthedocs.io / en / latest /
К сожалению, я действительно не знаю, как это использовать.
Я создал плагин для WordPress сзависимости композитора и загрузил его через FTP на мой сайт WordPress.Плагин также активирован.
С помощью следующего кода я пытаюсь создать фиктивного пользователя в firebase.
К сожалению, в моей базе данных нет новых записей.Я не знаю, почему это не работает, и я довольно плохо знаком с PHP и WordPress, поэтому я не знаю, как решить эту проблему.Я знаю, что ловушка вызывается.
<?php
/**
* Plugin Name: Own Functions
* Plugin URI:
* Description: PHP code
* Author: xxx
* Version: 2.1.91
* Text Domain: insert-php
* Domain Path: /languages/
* Author URI:
*/
require __DIR__.'/vendor/autoload.php';
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/google-service-account.json');
$firebase = (new Factory)
->withServiceAccount($serviceAccount)
->create();
$auth = $firebase->getAuth();
add_action('swpm_front_end_registration_complete_user_data', 'registration_callback_firebase');
function registration_callback_firebase ($member_info)
{
$userProperties = [
'email' => 'user@example.com',
'emailVerified' => false,
'phoneNumber' => '+15555550100',
'password' => 'secretPassword',
'displayName' => 'John Doe',
'photoUrl' => 'http://www.example.com/12345678/photo.png',
'disabled' => false,
];
$createdUser = $auth->createUser($userProperties);
// This is equivalent to:
$request = \Kreait\Auth\Request\CreateUser::new()
->withUnverifiedEmail('user@example.com')
->withPhoneNumber('+15555550100')
->withClearTextPassword('secretPassword')
->withDisplayName('John Doe')
->withPhotoUrl('http://www.example.com/12345678/photo.png');
$createdUser = $auth->createUser($request);
}
Это правильная попытка?Или можно вызвать функцию javascript (и передать введенные данные) в этом хуке действия PHP и сделать все с помощью javascript?
Буду признателен за любые советы, если это правильный путь или как я могу достичь своих целей.