Próbuję utworzyć niestandardowego uwierzytelniania z nowym Firebase SDK google następującym tych wytycznych: https://firebase.google.com/docs/auth/server#use_a_jwt_library
w kodzie samble mówi:Konfigurowanie Firebase v3 niestandardowego uwierzytelniania z php
Get your service account's email address and private key from the JSON key file
Niestety nie mam pojęcia, skąd wziąć ten plik json. Jeśli przejdę do konsoli firebase (https://console.firebase.google.com/) uda mi się pobrać plik json, ale nie zawiera on adresu e-mail ani klucza prywatnego.
Udało mi się znaleźć plik json zawierający adres e-mail i klucz prywatny w mojej platformie Google Cloud Platform (http://console.cloud.google.com) przez goind w menu "API Manager> Credentials". Zaskakująco pokazała się tam moja aplikacja firebase. I skopiować i wkleić do wiadomości e-mail i klucz do kodu próbki, potem mam ten błąd:
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
Czy ktoś ma pomysł co robię źle?
Dzięki
project Firebase jest "tylko" to specjalny typ projektu Google Cloud Platform, dzięki czemu Firebase projekty rzeczywiście mają pokazać się w Google Cloud Konsola platformy. Podczas tworzenia konta usługi zobacz pierwszy akapit w [ten link] (https://firebase.google.com/docs/database/server/start#server-sdk-authentication) –
Dziękuję za odpowiedź. Ale wciąż nie działa. Czy to, co wyjaśniono w linku. Nadal pojawia się ten sam błąd. _ (Ostrzeżenie: openssl_sign(): podany kluczowy parametr nie może być wymuszony na klucz prywatny) _ –