.
*/
use Models\OAuth2;
$skip_permissions = true;
include_once __DIR__.'/core.php';
session_write_close();
// Authorization information
$state = $_GET['state'];
$code = $_GET['code'];
// Account individuato via state
if (!empty($state)) {
$account = OAuth2::where('state', '=', $state)
->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();
}
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'])) {
redirect($redirect);
exit;
} else {
echo strip_tags($_GET['error']).'
'.strip_tags($_GET['error_description']).'
'.tr('Riprova').'';
}