/** * Return the combined login & registration resolved form object. * * @param Request $request The client Request object being processed. * @param string $twigParent Parent Twig template to be used. * * @return ResolvedFormBuild */ protected function getFormCombinedLogin(Request $request, $twigParent) { $resolvedBuild = new ResolvedFormBuild(); $resolvedBuild->setContext(['twigparent' => $twigParent]); /** @var Builder\Associate $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_ASSOCIATE); $builder->setAction(sprintf('/%s/login', $this->config->getUrlAuthenticate())); $associateForm = $builder->createForm([])->handleRequest($request); $resolvedBuild->addBuild(MembersForms::FORM_ASSOCIATE, $builder, $associateForm); /** @var Builder\LoginOauth $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_LOGIN_OAUTH); $builder->setAction(sprintf('/%s/login', $this->config->getUrlAuthenticate())); $formOauth = $builder->createForm([])->handleRequest($request); $resolvedBuild->addBuild(MembersForms::FORM_LOGIN_OAUTH, $builder, $formOauth); /** @var Builder\LoginPassword $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_LOGIN_PASSWORD); $builder->setAction(sprintf('/%s/login', $this->config->getUrlAuthenticate())); $formPassword = $builder->createForm([])->handleRequest($request); $resolvedBuild->addBuild(MembersForms::FORM_LOGIN_PASSWORD, $builder, $formPassword); /** @var Builder\ProfileRegister $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_PROFILE_REGISTER); $builder->setAction(sprintf('/%s/profile/register', $this->config->getUrlMembers())); $formRegister = $builder->createForm([])->handleRequest($request); if ($this->session->isTransitional()) { } $resolvedBuild->addBuild(MembersForms::FORM_PROFILE_REGISTER, $builder, $formRegister); return $resolvedBuild; }
/** * Construct the authorisation URL with query parameters. * * @param string $providerName * * @return string */ protected function getCallbackUrl($providerName) { $url = sprintf('%s/%s/oauth2/callback?provider=%s', $this->rootUrl, $this->config->getUrlAuthenticate(), $providerName); $this->logger->debug("[Members][Provider]: Setting callback URL: {$url}"); return $url; }