File: /opt/aphex/helpers/aphex-sso.php
<?php
try {
if (!empty($_GET['checkOnly'])) {
die('m1-ws1-ams3.aphex.me');
}
$response = file_get_contents('https://api.aphexmedia.com/pbn/site/'.$_SERVER['SERVER_NAME'].'/sso/session?session=' . $_GET['session']);
$result = json_decode($response, true);
if ($result['success'] !== true) {
var_dump($result);
die('Nope...');
}
} catch (Throwable $e) {
die('Login unsuccessful');
}
ob_start();
$docRoot = '/opt/aphex/sites/' . $_SERVER['SERVER_NAME'];;
$bah = ob_get_contents();
require_once($docRoot . '/wp-load.php');
require_once(ABSPATH . 'wp-admin/includes/plugin-install.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/misc.php');
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
if (!defined('XMLRPC_REQUEST')) {
define('XMLRPC_REQUEST', true);
}
if (!defined('DOING_CRON')) {
define('DOING_CRON', true);
}
require(ABSPATH . '/wp-blog-header.php');
require(ABSPATH . '/wp-includes/pluggable.php');
ob_end_clean();
$user_info = get_userdata(1);
// Try to find an admin if we do not have any admin with ID => 1
if (empty($user_info) || empty($user_info->user_login)) {
$admin_id = get_users(array('role__in' => array('administrator'), 'number' => 1, 'fields' => array('ID')));
$user_info = get_userdata($admin_id[0]->ID);
}
$username = $user_info->user_login;
$user = get_user_by('login', $username);
// Create the session
if (!is_wp_error($user)) {
wp_clear_auth_cookie();
wp_set_current_user($user->ID);
wp_set_auth_cookie($user->ID);
}
$redirect_to = admin_url();
wp_safe_redirect($redirect_to);