2017-10-02 3 views
0

je suis en train de mettre en œuvre l'authentification JWT à un CakePHP 3. Je suivais ci-dessous tutoriel:JWT ne fonctionne pas avec CakePHP

http://www.bravo-kernel.com/2015/04/how-to-add-jwt-authentication-to-a-cakephp-3-rest-api/ 

i ont terminé la configuration de base et il fonctionne bien. mais quand je l'ai essayé d'enregistrer un utilisateur à l'aide de Postman il m'a donné l'erreur suivante:

Error: Call to a member function set() on boolean 
File /var/www/html/XXXXXX/vendor/friendsofcake/crud/src/Action/BaseAction.php 
Line: 196 

mon code de contrôleur utilisateur est:

public function add() 
    { 
     $this->Crud->on('afterSave', function(Event $event) { 
      if ($event->subject->created) { 
       $this->set('data', [ 
        'id' => $event->subject->entity->id, 
        'token' => JWT::encode(
         [ 
          'sub' => $event->subject->entity->id, 
          'exp' => time() + 604800 
         ], 
        Security::salt()) 
       ]); 
       $this->Crud->action()->config('serialize.data', 'data'); 
      } 
     }); 
     return $this->Crud->execute(); 
    } 

s'il vous plaît aidez-moi

Répondre

0

Je viens de découvrir la problème. J'ai créé tous les modèles avec cake bake. donc dans ce cas j'ai besoin d'ajouter Flash à ma liste de composants sur AppController.