getPayload() public static method

Get the raw Payload instance.
public static getPayload ( mixed $token = false ) : Tymon\JWTAuth\Payload
$token mixed
return Tymon\JWTAuth\Payload
Ejemplo n.º 1
1
 public function info()
 {
     try {
         $token = \JWTAuth::getToken();
         $payload = \JWTAuth::getPayload($token);
     } catch (JWTException $e) {
         return ['error' => 'no auth token provided'];
     }
     $user = User::where('id', $payload['user_id'])->first();
     return $user;
 }
Ejemplo n.º 2
0
 /**
  * @return string
  * @throws \DreamFactory\Core\Exceptions\UnauthorizedException
  */
 public static function refreshToken()
 {
     $token = Session::getSessionToken();
     try {
         $newToken = \JWTAuth::refresh($token);
         $payload = \JWTAuth::getPayload($newToken);
         $userId = $payload->get('user_id');
         $user = User::find($userId);
         $userInfo = $user->toArray();
         ArrayUtils::set($userInfo, 'is_sys_admin', $user->is_sys_admin);
         Session::setSessionToken($newToken);
         Session::setUserInfo($userInfo);
         static::setTokenMap($payload, $newToken);
     } catch (TokenExpiredException $e) {
         $payloadArray = \JWTAuth::manager()->getJWTProvider()->decode($token);
         $forever = boolval(ArrayUtils::get($payloadArray, 'forever'));
         if ($forever) {
             $userId = ArrayUtils::get($payloadArray, 'user_id');
             $user = User::find($userId);
             Session::setUserInfoWithJWT($user, $forever);
         } else {
             throw new UnauthorizedException($e->getMessage());
         }
     }
     return Session::getSessionToken();
 }
Ejemplo n.º 3
0
 /**
  * @param $token
  * @param bool $allowExpireRefresh
  * @return bool
  */
 function is_jwt_token_valid_for_refresh($token, $allowExpireRefresh = false)
 {
     $is_jwt_token_valid_for_refresh = false;
     try {
         $payload = \JWTAuth::getPayload($token);
         $exp = $payload->get('exp');
         $nbf = $payload->get('nbf');
         if ($exp > 0 && $nbf > 0) {
             $nowTime = \Carbon\Carbon::now('UTC');
             $expireTime = \Carbon\Carbon::createFromTimestampUTC($exp);
             $validTime = \Carbon\Carbon::createFromTimestampUTC($nbf);
             // if now time is after valid time
             if ($nowTime->gt($validTime)) {
                 $minutesAfterValid = $nowTime->diffInMinutes($validTime);
                 $minutesBeforeExpire = $nowTime->diffInMinutes($expireTime);
                 $totalValidLength = $validTime->diffInMinutes($expireTime);
                 $halfAmountOfMinutes = floor($totalValidLength / 2);
                 if ($minutesAfterValid >= $halfAmountOfMinutes) {
                     $is_jwt_token_valid_for_refresh = true;
                 }
             }
         }
     } catch (\Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
         if ($allowExpireRefresh) {
             $is_jwt_token_valid_for_refresh = true;
         }
     } catch (\Tymon\JWTAuth\Exceptions\JWTException $e) {
     }
     return $is_jwt_token_valid_for_refresh;
 }