Страница Wordpress - Объединение с аутентификацией Firebase и PHP Firestore - PullRequest
0 голосов
/ 04 мая 2019

Я разработал мобильное приложение с реагировать нативно, где я использую 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?

Буду признателен за любые советы, если это правильный путь или как я могу достичь своих целей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...