J'utilise ce SDK et je le suis documentation. Maintenant, j'essaye de créer et d'authentifier l'utilisateur dans firebase db. Comment puis-je faire cela.Je fais le projet dans Codeigniter et dans mon contrôleur, j'ai fait ceci:
public function register()
{
$firebase = (new Firebase\Factory())->create();
$tokenHandler = $firebase->getTokenHandler();
$uid = 'a-uid';
$claims = ['foo' => 'bar']; // optional
// Returns a Lcobucci\JWT\Token instance
$customToken = $tokenHandler->createCustomToken($uid, $claims);
echo $customToken; // "eyJ0eXAiOiJKV1..."
$idTokenString = 'eyJhbGciOiJSUzI1...';
// Returns a Lcobucci\JWT\Token instance
$idToken = $tokenHandler->verifyIdToken($idTokenString);
$uid = $idToken->getClaim('sub');
echo $uid; // 'a-uid'
}
Et j'appelle la fonction Cela m'a donné cette erreur:
Type: Kreait\Firebase\Exception\ServiceAccountDiscoveryFailed
Message: Kreait\Firebase\ServiceAccount\Discovery\FromEnvironmentVariable: The environment variable "FIREBASE_CREDENTIALS" is not set. Kreait\Firebase\ServiceAccount\Discovery\FromEnvironmentVariable: The environment variable "GOOGLE_APPLICATION_CREDENTIALS" is not set. Kreait\Firebase\ServiceAccount\Discovery\FromGoogleWellKnownFile: The well known file is not readable or invalid
Filename: E:\xampp\htdocs\firebasedb\vendor\kreait\firebase-
php\src\Firebase\ServiceAccount\Discoverer.php
Line Number: 48
Quelqu'un peut-il m'aider avec ce problème? Tout type d'aide est apprécié. Merci.
MODIFIER D'accord, je résous ce problème avec le chemin du fichier .json par défaut comme ceci:
$serviceAccount = ServiceAccount::fromJsonFile(JSON_FILE_PATH.'google-service-account.json');
$firebase = (new Factory)
->withServiceAccount($serviceAccount)
->create();
Puis-je enregistrer un nouvel utilisateur depuis l'application Web? Quelqu'un peut-il aider s'il vous plaît. Je suis arrêté dans ce problème depuis longtemps. Les aides sont très appréciées.
2 réponses
Vous définissez les variables d'environnement de la clé JSON FIREBASE_CREDENTIALS GOOGLE_APPLICATION_CREDENTIALS ?
essayez de lire ce Firebase Admin SDK for PHP Setup
J'ai eu le même problème avec Laravel dans mon cas, voici la solution:
Enregistrez d'abord le fichier d'identifiants .json
que vous avez obtenu du projet Firebase dans la racine de votre application Laravel au même niveau que le fichier .env
.
Le fichier json
ressemble à you-file-firebase-adminsdk-0000-9845985498a.json
Ensuite, ouvrez le fichier .env
, créez une nouvelle variable d'environnement et collez le nom du fichier d'informations d'identification json
.
FIREBASE_CREDENTIALS=../you-file-firebase-adminsdk-0000-9845985498a.json
Questions connexes
De nouvelles questions
codeigniter
CodeIgniter est un framework de développement d'applications - une boîte à outils - pour les personnes qui créent des sites Web en utilisant PHP. Créé par EllisLab, encouragé par BCIT, il s'agit désormais d'un projet de la Fondation CodeIgniter. Le framework implémente une version modifiée du modèle de conception Model-View-Controller. Utilisez cette balise pour les questions sur les classes, méthodes, fonctions, syntaxe et utilisation de CodeIgniter. Il existe deux versions principales: 3.x et 4.x, répondant à différentes exigences système