public function refreshToken($token = null)
	{
		if (!$this->getOption('userefresh'))
		{
			throw new \RuntimeException('Refresh token is not supported for this OAuth instance.');
		}

		if (!$token)
		{
			$token = $this->getToken();

			if (!array_key_exists('refresh_token', $token))
			{
				throw new \RuntimeException('No refresh token is available.');
			}

			$token = $token['refresh_token'];
		}

		$data['grant_type'] = 'refresh_token';
		$data['refresh_token'] = $token;
		$data['client_id'] = $this->getOption('clientid');
		$data['client_secret'] = $this->getOption('clientsecret');
		$response = $this->http->post($this->getOption('tokenurl'), $data);

		if ($response->code >= 200 || $response->code < 400)
		{
			if ($response->headers['Content-Type'] == 'application/json')
			{
				$token = array_merge(json_decode($response->body, true), array('created' => time()));
			}
			else
			{
				parse_str($response->body, $token);
				$token = array_merge($token, array('created' => time()));
			}

			$this->setToken($token);

			return $token;
		}
		else
		{
			throw new \Exception('Error code ' . $response->code . ' received refreshing token: ' . $response->body . '.');
		}
	}
public function refreshToken($token = null)
	{
		if (!$this->getOption('userefresh'))
		{
			throw new \RuntimeException('Refresh token is not supported for this OAuth instance.');
		}

		if (!$token)
		{
			$token = $this->getToken();

			if (!array_key_exists('refresh_token', $token))
			{
				throw new \RuntimeException('No refresh token is available.');
			}

			$token = $token['refresh_token'];
		}

		$data['grant_type'] = 'refresh_token';
		$data['refresh_token'] = $token;
		$data['client_id'] = $this->getOption('clientid');
		$data['client_secret'] = $this->getOption('clientsecret');
		$response = $this->http->post($this->getOption('tokenurl'), $data);

		if ($response->code >= 200 || $response->code < 400)
		{
			if ($response->headers['Content-Type'] == 'application/json')
			{
				$token = array_merge(json_decode($response->body, true), array('created' => time()));
			}
			else
			{
				parse_str($response->body, $token);
				$token = array_merge($token, array('created' => time()));
			}

			$this->setToken($token);

			return $token;
		}
		else
		{
			throw new \Exception('Error code ' . $response->code . ' received refreshing token: ' . $response->body . '.');
		}
	}
public function refreshToken ( $ token = null ) { if ( ! $ this -> getOption ( 'userefresh' ) ) { throw new \ RuntimeException ( 'Refresh token is not supported for this OAuth instance.' ) ; } if ( ! $ token ) { $ token = $ this -> getToken ( ) ; if ( ! array_key_exists ( 'refresh_token' , $ token ) ) { throw new \ RuntimeException ( 'No refresh token is available.' ) ; } $ token = $ token [ 'refresh_token' ] ; } $ data [ 'grant_type' ] = 'refresh_token' ; $ data [ 'refresh_token' ] = $ token ; $ data [ 'client_id' ] = $ this -> getOption ( 'clientid' ) ; $ data [ 'client_secret' ] = $ this -> getOption ( 'clientsecret' ) ; $ response = $ this -> http -> post ( $ this -> getOption ( 'tokenurl' ) , $ data ) ; if ( $ response -> code >= 200 || $ response -> code < 400 ) { if ( $ response -> headers [ 'Content-Type' ] == 'application/json' ) { $ token = array_merge ( json_decode ( $ response -> body , true ) , array ( 'created' => time ( ) ) ) ; } else { parse_str ( $ response -> body , $ token ) ; $ token = array_merge ( $ token , array ( 'created' => time ( ) ) ) ; } $ this -> setToken ( $ token ) ; return $ token ; } else { throw new \ Exception ( 'Error code ' . $ response -> code . ' received refreshing token: ' . $ response -> body . '.' ) ; } }
Refresh the access token instance.

@param   string  $token  The refresh token

@return  array  The new access token

@since   1.0
@throws  \Exception
@throws  \RuntimeException
Refresh the access token instance .