public function index() { $siteconfig = SiteConfig::current_site_config(); if ($siteconfig->canEdit()) { $siteconfig->HailRedirectCode = $_GET['code']; $provider = new HailProvider(); try { $token = $provider->getAccessToken('authorization_code', ['code' => $siteconfig->HailRedirectCode]); } catch (Exception $ex) { die($ex->getMessage()); } $siteconfig->HailAccessToken = $token->accessToken; $siteconfig->HailAccessTokenExpire = $token->expires; $siteconfig->HailRefreshToken = $token->refreshToken; $siteconfig->write(); // Refresh site config and save the user id $user = HailApi::getUser(); $siteconfig = SiteConfig::current_site_config(); $siteconfig->HailUserID = $user->id; $siteconfig->write(); } $this->redirect('admin/settings'); }