2016-12-07 4 views
1

私はSymfony 2.8,auth0/jwt-auth-bundle(バージョン1.2)とnelmio/cors-bundle(バージョン1.4.1)を使用しています。認証後に受け取ったJWTがすぐに有効でない

アクティブなユーザーがログアウトして再度ログインするとき、Auth0から受け取った新しいトークンが自動的にアクティブではないという問題があります。受け取ったJWTを使って電話をかける前に、1分ほど待たなければなりません。私がすぐにそれを使用した場合、すべてが500エラーを返します(郵便配達員または私のアプリを使ってテストします)。

約1分後、何もせずにアクティブになり、200応答ステータスを与えるコールが開始されます。

なぜ私はこの遅延がありますか?ユーザーがログインするとすぐにトークンをアクティブにする必要があります。構成が不足していますか?ここで

は私の設定です:あなたは、問題の原因として最も可能性が高いが(JWT(Auth0)を発行するサーバーとJWTを検証し、サーバー間のクロック・スキューだろう提供された情報に基づいて

jwt_auth: 
    domain:  "domain.com" 
    client_id:  "%client_id%" 
    client_secret: "%client_secret%" 
    secret_base64_encoded: "%secret_base64_encoded%" 


nelmio_cors: 
    defaults: 
     allow_credentials: false 
     allow_origin: [] 
     allow_headers: [] 
     allow_methods: [] 
     expose_headers: [] 
     max_age: 0 
     hosts: [] 
     origin_regex: true 
    paths: 
     '^/api': 
      allow_credentials: true 
      allow_origin: ['*'] 
      allow_headers: ['*'] 
      allow_methods: ['POST', 'PUT', 'GET', 'DELETE', 'OPTIONS'] 
      expose_headers: [] 
      max_age: 3600 

答えて

0

あなたの申請)。

クロックスキューとその対処方法については、this documentationを参照してください(ドキュメントページはAuth0 ADコネクタライブラリに関連付けられていますが、クロックスキューは一般的な問題です)。

これは、システムがNTP(ネットワークタイムプロトコル)経由で同期サーバーをプールするために正しく構成されていることを確認することで修正できます。

これは[https://jwt.io/]で受信JWTをデコードし、その寿命に関連する請求expnbfおよび/またはiatをチェックすることにより、実際に問題がある場合にも確認することができます。

関連する問題