. */ use Models\OAuth2; $skip_permissions = true; include_once __DIR__.'/core.php'; // Authorization information $state = $_GET['state']; $code = $_GET['code']; // Account individuato via state if (!empty($state)) { $account = OAuth2::find($_SESSION['oauth2_id']) ->first(); } else { $account = OAuth2::find(get('id')); // Impostazione access token a null per reimpostare la configurazione $account->access_token = null; $account->refresh_token = null; $account->save(); $_SESSION['oauth2_id'] = $account->id; } if (empty($account)) { echo tr('Errore durante il completamento della configurazione: account non trovato'); return; } // Redirect all'URL di autorizzazione del servizio esterno $response = $account->configure($code, $state); // Redirect automatico al record if (empty($response['authorization_url'])) { $redirect = $account->after_configuration; } else { $redirect = $response['authorization_url']; } if (empty($_GET['error'])) { if ($response['access_token']) { $username = $account->getProvider()->getUser($response['access_token']); if (!auth()->attempt($username, null, true)) { flash()->error(tr('Autenticazione fallita!')); } redirect(base_path().'/'); } else { redirect($redirect); } exit; } else { echo strip_tags($_GET['error']).'
'.strip_tags($_GET['error_description']).'

'.tr('Riprova').''; }