Sto cercando di impostare autenticazione personalizzato con il nuovo SDK Firebase da Google seguendo tali orientamenti: https://firebase.google.com/docs/auth/server#use_a_jwt_library
Nel codice samble si dice:Impostazione Firebase v3 autenticazione personalizzata con PHP
Get your service account's email address and private key from the JSON key file
Purtroppo ho non ho idea di dove trovare questo file json. Se vado alla mia console Firebase (https://console.firebase.google.com/), riesco a scaricare un file JSON ma non contiene alcun indirizzo e-mail e chiave privata.
Sono riuscito a trovare un file JSON che contiene un indirizzo e-mail e una chiave privata nella mia console della piattaforma cloud di Google (http://console.cloud.google.com) da goind nel menu "API Manager> Credenziali". Sorprendentemente la mia app Firebase è stata mostrata lì. Copio e incollato l'e-mail e la chiave nel codice di esempio, poi ho avuto questo errore:
Warning: openssl_sign(): supplied key param cannot be coerced into a private key in /volume1/web/yeti/vendor/firebase/php-jwt/src/JWT.php on line 183 Fatal error: Uncaught exception 'DomainException' with message 'OpenSSL unable to sign data' in /volume1/web/yeti/vendor/firebase/php-jwt/src/JWT.php:185 Stack trace: #0 /volume1/web/yeti/vendor/firebase/php-jwt/src/JWT.php(154): Firebase\JWT\JWT::sign('eyJ0eXAiOiJKV1Q...', NULL, 'RS256') #1 /volume1/web/yeti/jwt.php(21): Firebase\JWT\JWT::encode(Array, NULL, 'RS256') #2 /volume1/web/yeti/jwt.php(24): create_custom_token('1234', false) #3 {main} thrown in /volume1/web/yeti/vendor/firebase/php-jwt/src/JWT.php on line 185
fa qualcuno ha un'idea di quello che sto facendo male?
Grazie
progetto Un Firebase è "solo" un particolare tipo di progetto Google Cloud Platform, in modo che i progetti Firebase anzi si suppone di presentarsi in Google Cloud Console della piattaforma. Quando crei un account di servizio, consulta il primo paragrafo in [questo link] (https://firebase.google.com/docs/database/server/start#server-sdk-authentication) –
Grazie per la risposta. Ma ancora non funziona. Ha fatto ciò che ha spiegato nel link. Ottengo sempre lo stesso errore. _ (Avviso: openssl_sign(): il parametro chiave fornito non può essere forzato in una chiave privata) _ –