2017-08-10 9 views
0

中に存在していない私は、このリスナー`lexik_jwt_authentication.on_jwt_created`はsymfonyのプロファイラ

acme_api.event.jwt_created_listener: 
    class: AppBundle\EventListener\JWTCreatedListener 
    tags: 
     - { name: kernel.event_listener, event: lexik_jwt_authentication.on_jwt_created, method: onJWTCreated } 

追加しましたが、イベントはsymfonyのプロファイラから(見えない)送出されません。私はそれを使用してトークンの有効期限をカスタマイズしようとしています。メソッドonJWTCreatedは呼び出されません!

+0

サービスの設定は良好ですが、問題はここにはありません。キャッシュをクリアしようとしましたか? – Mcsky

+0

はい。キャッシュがクリアされました。イベントは表示されません。 – sensorario

+0

どのようにバンドルを使用していますか?組み込みのガード認証プログラムを使用していますか?このイベントに関してログに何かがありますか? – chalasr

答えて

0

前の質問Why my jwt tokens never expire?に示されているように、あなたはsymfonyセキュリティシステム(config)でバンドルを使用していませんが、コントローラーから低レベルのAPIを使用してトークンを手動で配信します。

JWTCreatedEventは、JWTManager( 'lexik_jwt_authentication.jwt_manager`サービス)によって送出されます。イベントをディスパッチする場合は、エンコーダを直接使用する代わりに、そのサービスを使用することを検討してください(次のメジャーでプライベートになる可能性があり、注入されない限りコントローラからはアクセスできません)。

関連する問題