2016-12-10 15 views
1
私は、サードパーティJWTライブラリを使用してカスタムトークンを作成 見出しの下にここで見つけることができますPHPのカスタムトークン、https://firebase.google.com/docs/auth/admin/create-custom-tokensためfirebaseが推奨するパッケージをインストールしている

FirebaseカスタムトークンPHPサーバー生成エラー

php-jwtがインストールされています。 その後、hereというサービスアカウントを作成し、/apis/credentialsに私がダウンロードした以下のような詳細が得られます。

"private_key": "-----BEGIN PRIVATE KEY-----veryLongKey---END PRIVATE KEY-----\n", 
"client_email": "[email protected]", 

次に、上部のリンクで示された形式を使用してトークンを生成します。私はこのカールでその$theCreatedToken ....

$url = 'https://localhost-42d67.firebaseio.com/Devices.json?auth=' .$theCreatedToken; 
    $arr = array("success" =>array("iPhone"=>500)); 
    $data_string = json_encode($arr); 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH"); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json', 
    'Content-Length: ' . strlen($data_string)) 
    ); 
echo $result = curl_exec($ch); 

を置くとき

は、しかし、私はこのエラー { 「エラー」を得る:「IDトークンを期待しますが、カスタムトークン与えられました。」 }

?auth=' .$theCreatedToken;を削除しても問題ありません。 私は何が間違っていますか?私はこれを広範に調査しましたが、答えはありません。 誰かが助けてくれることを願っています。 最高

+0

私はこの解決方法に従っていますが、同じエラーが発生します。 [link](http://stackoverflow.com/questions/37801444/setting-up-firebase-v3-custom-auth-with-php) – Sprep

+0

$ theCreatedTokenはどうやって手に入りましたか? –

+0

$ theCreatedTokenがJWTライブラリから返されます。 – Sprep

答えて

0

これはかなり混乱していますが、私はこのライブラリを使用して作業し、サービスアカウントはFirebaseの設定で生成されたJSONを取得しました。

https://github.com/kreait/firebase-php

私もどうやら、それが代わりにクエリで認証トークンを渡すのAuthorizationヘッダにベアラ・トークンを使用しています

https://github.com/luqmanrom/firebase-php

それはがつがつ食う5を動作させるために、このライブラリを書き、PHP 5.6文字列。トークンはGoogle OAuth2サーバーから取得されます。

うまくいけば助けてください

+0

はい、非常に混乱します。私は最後にあなたと同じことをしました:) – Sprep

+0

Guzzle 5で動作させるために書き直す必要があります。あとでパブリックパッケージにします。これが役に立つのであれば評価してください – geckob

関連する問題