2017-08-06 2 views
1

モバイル側(IOS)とサーバー側(PHP、Laravel 5.4)という2つの側面を持つアプリケーションを開発しています。私はGoogleの独自のクラスを使用してGoogleトークンを生成し、json形式でサーバーに送信しています。Php(Laravel)によるGoogle IDトークンの完全性の確認

私のJSONは次のようになります。これまでのところ全く問題ありません

["name": "ali farhangmehr", "email": "[email protected]", "google_image_url": https://lh5.googleusercontent.com/-6KoifJgUUW0/AAAAAAAAAAI/AAAAAAAAA60/BbWD4fEDvHk/s100/photo.jpg, "googleToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjVlYTZiNzAzYjYzOTVmYzJlNWJkNmUzY2EwZjhiMzcxYTE0ODU5YjMifQ.eyJhenAiOiIyNTk3NjE1MTY5NjEtOXZ0Y3AyZnQ1dXZsaGJkdmxlM2lndDlsbDg3b3FwM2EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiIyNTk3NjE1MTY5NjEtOXZ0Y3AyZnQ1dXZsaGJkdmxlM2lndDlsbDg3b3FwM2EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDU4NzI5MzY5MDEzOTMwNjEyNTEiLCJlbWFpbCI6ImFsaS5mYXJoYW5nbWVockBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IkN6S0htamlYOUhDM2JjaGZRTGJ3ZXciLCJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJpYXQiOjE1MDIwNDc4MjAsImV4cCI6MTUwMjA1MTQyMCwibmFtZSI6ImFsaSBmYXJoYW5nbWVociIsInBpY3R1cmUiOiJodHRwczovL2xoNS5nb29nbGV1c2VyY29udGVudC5jb20vLTZLb2lmSmdVVVcwL0FBQUFBQUFBQUFJL0FBQUFBQUFBQTYwL0JiV0Q0ZkVEdkhrL3M5Ni1jL3Bob3RvLmpwZyIsImdpdmVuX25hbWUiOiJhbGkiLCJmYW1pbHlfbmFtZSI6ImZhcmhhbmdtZWhyIiwibG9jYWxlIjoiZW4ifQ.fMbcS3axTumt1hW4_Fss3C3QfLc_Ohhqlj3XfRkDmXixOlnEAV-9GaxI-6IOl0bdh382rJd2Ign4Fjdw8dJ5kGNhMmci9sV-_G50FU3vNH60RptJ04QX7BGrfUOjCJIV5dARJqsCNwqVWItR1F5z-gz9WHA0YKAjMCTWMWSuF03O0yowqzPoajwBLk5VNGOk7Q9fRvKEG7tnTGkckCBSBwWa5KdYnQw-k1OGB9W7qjcQrCelPE8SPzR_GwhHNoAGTOpZXQQSoeDNad8JWbExGZ9MeBDRoaLfLIoV7NRrVaSEwc4wSmga-yqlqjhGaULcdUGOZOasbhDyl28ULEDK2w"] 

。それから私は、Googleのトークンが、私は、電子メール にユーザーを登録するか、ログインすることができますので、これは、この問題 https://developers.google.com/identity/sign-in/web/backend-auth

上のGoogleの独自のドキュメントへのリンクです私はすべてのものを踏襲し、私のPHPコードは次のようになり有効であるかどうかを確認する必要がありこの:

$input = $request->all(); 
$google_token = $input['google_token'] = $request->input('googleToken'); 

$client_id = $CLIENT_ID; //from my google console 
$client=new Google_Client(['client_id' => $client_id]); 
$payload=$client->verifyIdToken($google_token); 
$client->verifyIdToken($google_token); 
if ($payload) { 
// do the login or register 
} else { 
    return false; 
} 

と、私はこのエラーを取得しています毎回:

(1/1) SignatureInvalidException 
Signature verification failed 
in JWT.php (line 112) 

Error msg

答えて

0

ための新しいJWTのこの問題はfirebase がちょうどJWT上の古いバージョンを使用するためにそれは動作します

composer require firebase/php-jwt:4.0 
関連する問題