Example #1
0
 protected function tokenFromUser($user, $customClaims = [])
 {
     $cfg = $this->app->config->get('jwt');
     $validator = new Tymon\JWTAuth\Validators\PayloadValidator();
     $request = new Illuminate\Http\Request();
     $claimFactory = new Tymon\JWTAuth\Claims\Factory();
     $adapter = new App\Extensions\JWTAuth\NamshiAdapter($cfg['secret'], $cfg['algo']);
     $payloadFactory = new App\Extensions\JWTAuth\PayloadFactory($claimFactory, $request, $validator);
     $claims = ['sub' => $user->user_id, '_user' => $user];
     $claims = array_merge($customClaims, $claims);
     $payload = $payloadFactory->make($claims);
     $token = $adapter->encode($payload->get());
     return $token;
 }
Example #2
0
 public function testRefreshExpiredToken()
 {
     $user = $this->createUser();
     $claims = [new UserClaim($user), new Subject(1), new Issuer('http://foo.bar'), new Expiration(123 - 3600), new NotBefore(123), new IssuedAt(123), new JwtId('foo')];
     $validator = Mockery::mock('Tymon\\JWTAuth\\Validators\\PayloadValidator');
     $validator->shouldReceive('setRefreshFlow->check');
     $payload = new Payload($claims, $validator, true);
     $cfg = $this->app->config->get('jwt');
     $adapter = new App\Extensions\JWTAuth\NamshiAdapter($cfg['secret'], $cfg['algo']);
     $token = $adapter->encode($payload->get());
     $this->callRefreshToken($token);
     $body = json_decode($this->response->getContent());
     $this->assertResponseStatus(401);
     $this->assertContains('expired', $body->message);
 }