/** * get_opauth_config * @param array Any extra overrides * @return array Config for use with Opauth */ public static function get_opauth_config($mergeConfig = array()) { $config = self::config(); return array_merge(array('path' => OpauthController::get_path(), 'callback_url' => OpauthController::get_callback_path()), $config->opauth_settings, $mergeConfig); }
/** * Global endpoint for handleStrategy - all strategy actions point here. * @throws LogicException This should not be directly called. * @throws InvalidArgumentException The strategy must be valid and existent * @param string $funcName The bound function name from addWrapperMethod * @param array $data Standard data param as part of form submission * @param OpauthLoginForm $form * @param SS_HTTPRequest $request * @return ViewableData */ public function handleStrategy($funcName, $data, $form, $request) { if (func_num_args() < 4) { throw new LogicException('Must be called with a strategy handler'); } // Trim handleStrategy from the function name: $strategy = substr($funcName, strlen('handleStrategy')) . 'Strategy'; // Check the strategy is good if (!class_exists($strategy) || $strategy instanceof OpauthStrategy) { throw new InvalidArgumentException('Opauth strategy ' . $strategy . ' was not found or is not a valid strategy'); } return $this->controller->redirect(Controller::join_links(OpauthController::get_path(), OpauthAuthenticator::get_strategy_segment($strategy))); }