コード例 #1
0
 public function connectByCreatingAccount($facebookId, $token, $email, $firstName, $lastName)
 {
     $customerDetails = array('firstname' => $firstName, 'lastname' => $lastName, 'email' => $email, 'sendemail' => 0, 'confirmation' => 0, 'custom_attributes' => array(array(\Magento\Framework\Service\Data\AttributeValue::ATTRIBUTE_CODE => 'inchoo_socialconnect_fid', \Magento\Framework\Service\Data\AttributeValue::VALUE => $facebookId), array(\Magento\Framework\Service\Data\AttributeValue::ATTRIBUTE_CODE => 'inchoo_socialconnect_ftoken', \Magento\Framework\Service\Data\AttributeValue::VALUE => serialize($token))));
     $customer = $this->_customerBuilder->populateWithArray($customerDetails)->create();
     // Save customer
     $customerDetails = $this->_customerDetailsBuilder->setCustomer($customer)->setAddresses(null)->create();
     $customerDataObject = $this->_customerAccountService->createCustomer($customerDetails);
     /* @var $customer \Magento\Customer\Service\V1\Data\Customer */
     // Convert data object to customer model
     $customer = $this->_converter->createCustomerModel($customerDataObject);
     /* @var $customer \Magento\Customer\Model\Customer */
     $customer->sendNewAccountEmail('confirmed', '');
     $this->_customerSession->setCustomerAsLoggedIn($customer);
 }
コード例 #2
0
ファイル: Session.php プロジェクト: pavelnovitsky/magento2
 /**
  * @param CustomerData $customer
  * @return $this
  */
 public function setCustomerDataAsLoggedIn($customer)
 {
     $this->_httpContext->setValue(\Magento\Customer\Helper\Data::CONTEXT_AUTH, true, false);
     $this->setCustomerData($customer);
     $customerModel = $this->_converter->createCustomerModel($customer);
     $this->setCustomer($customerModel);
     $this->_eventManager->dispatch('customer_login', array('customer' => $customerModel));
     $this->_eventManager->dispatch('customer_data_object_login', ['customer' => $customer]);
     return $this;
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function validateCustomerData(Data\Customer $customer, array $attributes = [])
 {
     $customerErrors = $this->validator->validateData(\Magento\Framework\Service\EavDataObjectConverter::toFlatArray($customer), $attributes, 'customer');
     if ($customerErrors !== true) {
         return $this->customerValidationResultsBuilder->setIsValid(false)->setMessages($this->validator->getMessages())->create();
     }
     $customerModel = $this->converter->createCustomerModel($customer);
     $result = $customerModel->validate();
     if (true !== $result && is_array($result)) {
         return $this->customerValidationResultsBuilder->setIsValid(false)->setMessages($result)->create();
     }
     return $this->customerValidationResultsBuilder->setIsValid(true)->setMessages([])->create();
 }