Пример #1
0
 public static function create(AccessToken $access_token, $lifetime = 0)
 {
     $instance = new self();
     $instance->value = Rand::getString($instance->len, OAuth2Protocol::VsChar, true);
     $instance->scope = $access_token->getScope();
     $instance->user_id = $access_token->getUserId();
     $instance->client_id = $access_token->getClientId();
     $instance->audience = $access_token->getAudience();
     $instance->from_ip = IPHelper::getUserIp();
     $instance->lifetime = intval($lifetime);
     $instance->is_hashed = false;
     return $instance;
 }
Пример #2
0
 /**
  * @param AccessToken $access_token
  * @throws \oauth2\exceptions\InvalidAccessTokenException
  */
 public function storesAccessTokenOnCache(AccessToken $access_token)
 {
     //stores in REDIS
     $value = $access_token->getValue();
     $hashed_value = Hash::compute('sha256', $value);
     if ($this->cache_service->exists($hashed_value)) {
         throw new InvalidAccessTokenException();
     }
     $auth_code = !is_null($access_token->getAuthCode()) ? Hash::compute('sha256', $access_token->getAuthCode()) : '';
     $refresh_token_value = !is_null($access_token->getRefreshToken()) ? Hash::compute('sha256', $access_token->getRefreshToken()->getValue()) : '';
     $user_id = !is_null($access_token->getUserId()) ? $access_token->getUserId() : 0;
     $this->cache_service->storeHash($hashed_value, array('user_id' => $user_id, 'client_id' => $access_token->getClientId(), 'scope' => $access_token->getScope(), 'auth_code' => $auth_code, 'issued' => $access_token->getIssued(), 'lifetime' => $access_token->getLifetime(), 'audience' => $access_token->getAudience(), 'from_ip' => IPHelper::getUserIp(), 'refresh_token' => $refresh_token_value), intval($access_token->getLifetime()));
 }