WordPress页面-与Firebase Auth和Firestore PHP结合

时间:2019-05-04 16:32:36

标签: php wordpress firebase plugins firebase-authentication

我已经开发了一个带有react native的移动应用程序,其中我使用Firebase作为后端。 现在,我正在为该应用开发一个带有wordpress的网站,我需要在我的网站中使用firebase数据库(firestore)和身份验证。

因此,我在我的网站上有一张注册表,并且我正在使用操作钩来获取数据(用户已输入)。 现在,我想使用该数据并使用firebase auth对用户进行身份验证。

我现在在我的应用中使用Java中的firebase函数,但在这种情况下,我需要PHP。

我认为Firebase-Admin-SDK for PHP是正确的选择。 https://firebase-php.readthedocs.io/en/latest/

不幸的是,我真的不知道如何使用它。

我创建了一个具有作曲家依赖性的wordpress插件,并通过FTP将其上传到我的wordpress网站。该插件也被激活。

使用以下代码,我尝试在firebase中创建一个虚拟用户。

不幸的是,我的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);
}

这是正确的尝试吗? 还是可以在此PHP操作钩子中调用javascript函数(并传递输入的数据)并使用javascript做所有事情?

如果这是正确的方法或实现目标的方式,我将不胜感激。

0 个答案:

没有答案