我已经开发了一个带有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做所有事情?
如果这是正确的方法或实现目标的方式,我将不胜感激。