diff --git a/plugins/kolab_files/kolab_files.php b/plugins/kolab_files/kolab_files.php index a0edfa74..9d103fb9 100644 --- a/plugins/kolab_files/kolab_files.php +++ b/plugins/kolab_files/kolab_files.php @@ -36,8 +36,14 @@ class kolab_files extends rcube_plugin { $this->rc = rcube::get_instance(); + if (isset($this->rc->oauth)) { + // This will trigger oauth_refresh_token if necessary + $this->rc->oauth->is_token_valid(); + } + // Register hooks $this->add_hook('refresh', [$this, 'refresh']); + $this->add_hook('oauth_refresh_token', [$this, 'oauth_refresh_token']); // Plugin actions for other tasks $this->register_action('plugin.kolab_files', [$this, 'actions']); @@ -129,6 +135,15 @@ class kolab_files extends rcube_plugin return $args; } + /** + * oauth_refresh_token hook handler + */ + public function oauth_refresh_token($args) + { + // Force a new chwala session, which will update the credentials (which hold the oauth token) + $_SESSION['kolab_files_token'] = null; + } + /** * Engine actions handler */