private function autoRegisterClient(OrderInterface $order) : ClientInterface { /** @var $client ClientInterface */ $client = $this->get('client.manager')->initResource(); $client->setClientDetails($order->getClientDetails()); $client->setContactDetails($order->getContactDetails()); $client->setBillingAddress($order->getBillingAddress()); $client->setShippingAddress($order->getShippingAddress()); $this->get('client.manager')->createResource($client); $token = new UsernamePasswordToken($client, $client->getPassword(), "client", $client->getRoles()); $this->container->get('security.token_storage')->setToken($token); $event = new InteractiveLoginEvent($this->getRequestHelper()->getCurrentRequest(), $token); $this->get("event_dispatcher")->dispatch('security.interactive_login', $event); return $client; }