コード例 #1
0
ファイル: Records.php プロジェクト: bolt/Members
 /**
  * @param string $guid
  * @param string $resourceOwnerId
  * @param bool   $enabled
  *
  * @return Entity\Oauth
  */
 public function createOauth($guid, $resourceOwnerId, $enabled = true)
 {
     $oauth = new Entity\Oauth();
     $oauth->setGuid($guid);
     $oauth->setResourceOwnerId($resourceOwnerId);
     $oauth->setEnabled($enabled);
     $this->getOauthRepository()->save($oauth);
     return $oauth;
 }
コード例 #2
0
ファイル: Backend.php プロジェクト: bolt/Members
 /**
  * Add a member.
  *
  * @param Application $app
  * @param Request     $request
  *
  * @return Response
  */
 public function userAdd(Application $app, Request $request)
 {
     $builder = $app['members.forms.manager']->getFormProfileEdit($request, true, null);
     $form = $builder->getForm(Form\MembersForms::FORM_PROFILE_EDIT);
     // Handle the form request data
     if ($form->isValid()) {
         /** @var Form\Entity\Profile $entity */
         $entity = $builder->getEntity(Form\MembersForms::FORM_PROFILE_EDIT);
         // Create and store the account entity
         $account = new Storage\Entity\Account();
         $account->setGuid($entity->getGuid());
         $account->setDisplayname($entity->getDisplayname());
         $account->setEmail($entity->getEmail());
         $account->setRoles([]);
         $account->setEnabled(true);
         $app['members.records']->saveAccount($account);
         // Save the password to a meta record
         $oauth = new Storage\Entity\Oauth();
         $oauth->setGuid($account->getGuid());
         $oauth->setResourceOwnerId($account->getGuid());
         $oauth->setEnabled(true);
         $app['members.records']->saveOauth($oauth);
         // Create a local provider entry
         $provider = new Storage\Entity\Provider();
         $provider->setGuid($account->getGuid());
         $provider->setProvider('local');
         $provider->setResourceOwnerId($account->getGuid());
         $provider->setLastupdate(Carbon::now());
         $app['members.records']->saveProvider($provider);
         return new RedirectResponse($app['url_generator']->generate('membersAdmin'));
     }
     $html = $app['members.forms.manager']->renderForms($builder, $app['twig'], '@MembersAdmin/profile_add.twig');
     return new Response(new \Twig_Markup($html, 'UTF-8'));
 }
コード例 #3
0
ファイル: Local.php プロジェクト: bolt/Members
 /**
  * Check to see if a provided password is valid.
  *
  * @param Entity\Oauth $oauth
  * @param string       $requestPassword
  *
  * @return bool
  */
 protected function isValidPassword(Entity\Oauth $oauth, $requestPassword)
 {
     if (!Blowfish::detect($oauth->getPassword())) {
         return false;
     }
     // We have a Blowfish hash, verify
     return password_verify($requestPassword, $oauth->getPassword());
 }