2016-11-08 26 views
1

私のクライアントから自分のサーバーにAuth0 JWTを送り、トークンを検証しようとしています。私はauth0認証から返されたtoken_idをAuthHttpヘッダーを介して私のサーバーに送ります。これはPHPで問題なく取得できます。Auth0 JWT PHPでのトークン検証

はショートとシンプル:

  • 角度2 Auth0 JWT

    は、PHPサーバーに送信されます。
  • 署名を検証するにはどうすればよいですか?

私は秘密のIDを持っています。私は、エンコードとデコードでJWTヘルパークラスを持っています。

ヘッダと本文を確認するにはどうすればいいですか?送信するJWTの署名は正しい方法であれば送信してください。

編集:私は

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvbG93aWUuZXUuYXV0aDAuY29tXC8iLCJzdWIiOiJnb29nbGUtb2F1dGgyfDEwNDY4ODk4NjgxNzEwNjQ3Mjc5MCIsImF1ZCI6IlYwWWVaREliYmVGdEJ4Z3F2UkNzVkFjWWxscXpaZGlNIiwiZXhwIjoxNDc4NzMxNjIzLCJpYXQiOjE0Nzg2OTU2MjN9._uyKrxJ0lPR-tEPjOFiI5ygeiM689gqURcIfG4sWkWcである私のトークンを渡し

私は、このトークンの本体を取得しにそれを作るこれで

アラーY

Array (
[iss] => https://lowie.eu.auth0.com/ 
[sub] => google-oauth2|104688986817106472790 
[aud] => V0YeZDIbbeFtBxgqvRCsVAcYllqzZdiM 
[exp] => 1478731623 
[iat] => 1478695623) 

私は配列を持っていたら、これは私のペイロード右ですか?

ここでトークンの画像は右のように検証されています// https://gyazo.com/93777863d988d8c6ef0fc4ea50755949

はなぜ以下のコードは、私に同じトークンを与えるものではありませんか?

$jwt = JWT::encode($bodyArray, "SuperSecureSecretSecret"); 

はまだ私はあなたが使用しているJWT署名の種類をサポートしている既存のライブラリを使用する必要があります

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2xvd2llLmV1LmF1dGgwLmNvbS8iLCJzdWIiOiJnb29nbGUtb2F1dGgyfDEwNDY4ODk4NjgxNzEwNjQ3Mjc5MCIsImF1ZCI6IlYwWWVaREliYmVGdEJ4Z3F2UkNzVkFjWWxscXpaZGlNIiwiZXhwIjoxNDc4NzMxNjIzLCJpYXQiOjE0Nzg2OTU2MjN9.6lEg_0h0zytQZVBqDe-ZIS5PoSkFAJhWtRYSgaDCesY

答えて

0

これをバック受け取ります。 PHPの利用可能なオプションのクイックリファレンスはライブラリのセクションをjwt.ioにチェックしてください。

しかし、ほとんどの状況で既存のライブラリを使用することをお勧めしますが、ライブラリの品質をいくらか評価することも重要です。

JWT署名検証では、ライブラリの使用が脆弱性を引き起こさないように、この記事(Critical vulnerabilities in JSON Web Token libraries)を読んでください。


を更新する:それらは異なる鍵で署名されているので

トークンが異なっており、ペイロードも異なります。一方のiss"https://lowie.eu.auth0.com/"であり、他方は"https:\/\/lowie.eu.auth0.com\/"である。ペイロードをBase64デコーダでデコードし、生の出力を見ることで確認できます。

さらに重要なのは、トークンを作成せず、トークンが有効で、実際の認証プロセスを委任した信頼できる発行元によって発行されたものであることを検証するだけです。

+0

私はFirehole 1を使用しましたが、Auth0のための特別なものはありません。更新された質問を参照してください。 –

+0

JWTは標準であるため、技術選択のための準拠ライブラリがあります。 –

+0

私は使用する鍵が正しく、auth0から直接コピーされていますが、ペイロードの問題を理解しています。キーが間違っていると確信していますか? –

関連する問題