Mmanos\Social\Provider::refreshAccessToken PHP Method

refreshAccessToken() public method

public refreshAccessToken ( )
    public function refreshAccessToken()
    {
        $access_token = $this->access_token;
        $service = Facades\Social::service($this->provider);
        if (2 === Facades\Social::oauthSpec($this->provider)) {
            $token = new StdOAuth2Token();
            $token->setAccessToken(array_get($access_token, 'token'));
            $token->setRefreshToken(array_get($access_token, 'refresh_token'));
        } else {
            $token = new StdOAuth1Token();
            $token->setAccessToken(array_get($access_token, 'token'));
            $token->setAccessTokenSecret(array_get($access_token, 'secret'));
            $token->setRefreshToken(array_get($access_token, 'refresh_token'));
        }
        $service->getStorage()->storeAccessToken(ucfirst($this->provider), $token);
        try {
            $new_token = $service->refreshAccessToken($token);
        } catch (\Exception $e) {
            return false;
        }
        if (!$new_token->getAccessToken()) {
            return false;
        }
        $access_token['token'] = $new_token->getAccessToken();
        if ($new_token->getEndOfLife()) {
            $access_token['end_of_life'] = $new_token->getEndOfLife();
        }
        if ($new_token->getExtraParams()) {
            $access_token['extra_params'] = $new_token->getExtraParams();
        }
        if (2 !== Facades\Social::oauthSpec($this->provider) && $new_token->getAccessTokenSecret()) {
            $access_token['secret'] = $new_token->getAccessTokenSecret();
        }
        $this->access_token = $access_token;
        $this->save();
        return true;
    }