php - Wordpress 页面 - 结合 firebase auth 和 firestore PHP
问题描述
我开发了一个带有原生反应的移动应用程序,我使用 firebase 作为后端。现在我正在为该应用程序开发一个带有 wordpress 的网站,我需要在我的网站中使用 firebase 数据库(firestore)和身份验证。
所以我在我的网站上有一个注册表单,我正在使用一个动作挂钩来获取用户输入的数据。现在我想使用该数据并使用 firebase auth 对用户进行身份验证。
我现在在我的应用程序中使用了 Javascript 中的 firebase 函数,但在这种情况下,我需要 PHP。
我认为 Firebase-Admin-SDK for 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);
}
这是正确的尝试吗?或者是否可以在这个 PHP 动作钩子中调用一个 javascript 函数(并传递输入的数据)并用 javascript 做所有事情?
如果这是正确的方式或我如何实现目标,我将不胜感激。
解决方案
推荐阅读
- python - 如何查找旁边带有特定文本的 GWT 元素
- json - 使用 2 个单独的策略时出现格式错误的策略错误
- json - JMeter:JSON 路径表达式 - 使用多个条件提取 JSON 块
- python - 如何在python中将一个查询输出用于其他查询?
- java - 无法指向此路径 /storage/emulated/0/Download/ phone storage
- python - 如何在 Python 中实现多处理?
- d3.js - 即使没有错误,d3js Choropleth 地图也不显示
- firebase - 使用 HTTP REST api 在颤振中使用 FIREBASE STORAGE 时出错
- javascript - beforeunload 和 unload 事件之间究竟发生了什么?
- python - 在python的段落中使用多条件正则表达式提取数字