/** * Handles determing if a redirect to the AAD signin experience is needed * * @since 0.2.1 * * @param int $user_id User ID * * @return null */ public function maybe_redirect_to_aad($user_id) { if (!isset($_GET['user_id_to_map'], $_GET['link-aadsso']) || $_GET['user_id_to_map'] != $user_id || !wp_verify_nonce($_GET['link-aadsso'], 'link-aadsso')) { return; } update_user_meta($user_id, 'is_aadsso_linking', 'true'); wp_redirect($this->aadsso->getLoginUrl()); exit; }
/** * Handles determining if redirects are needed * * @since 0.2.1 * * @return null */ public function handle_redirects() { global $pagenow; $user_id = get_current_user_id(); if (!isset($_GET['user_id_to_map']) || 'profile.php' != $pagenow || $_GET['user_id_to_map'] != $user_id) { return; } if (get_user_meta($user_id, 'aadsso_is_linked', 1)) { wp_redirect(admin_url('profile.php?aadsso_is_linked')); exit; } if (!isset($_GET['link-aadsso']) || !wp_verify_nonce($_GET['link-aadsso'], 'link-aadsso')) { return; } update_user_meta($user_id, 'is_aadsso_linking', 'true'); wp_redirect($this->aadsso->getLoginUrl()); exit; }