Exemplo n.º 1
0
 /**
  * @test
  */
 public function associateWithExistingUserIfEmailAddressMatches()
 {
     $firstName = 'Jane';
     $lastName = 'Lork';
     //allow GUID to be set
     User::unguard();
     User::create(['guid' => md5(uniqid() . microtime()), 'email' => $this->providerUser->getEmail(), 'first_name' => $firstName, 'last_name' => $lastName, 'primary_address_id' => Address::firstOrFail()->id]);
     User::reguard();
     $this->call('GET', '/login/' . ThirdPartyAuthenticator::PROVIDER_GOOGLE, ['code' => uniqid()]);
     // logged in as pre-existing user
     $this->followRedirects()->see($firstName . ' ' . $lastName);
     //assert user was not created
     $name = explode(' ', $this->providerUser->getName());
     $createdUser = User::where('first_name', $name[0])->where('last_name', $name[1])->where('email', $this->providerUser->getEmail())->where('avatar', $this->providerUser->getAvatar())->count() > 0;
     $this->assertFalse($createdUser);
 }
Exemplo n.º 2
0
 /**
  * ユーザを登録する
  *
  * @param User $gitHubUser
  *
  * @return int $userId
  */
 public function registerUser(User $gitHubUser)
 {
     $gitHubId = $gitHubUser->getId();
     // 登録済みであればuser IDを返却
     if ($user = $this->userModel->getUserByGitHubId($gitHubId)) {
         return $user->id;
     }
     // usersに新たに登録
     $userId = $this->userModel->insertUser('tmp');
     // XXX: テーブル設計見直し
     // テーブル格納用データ
     $gitHubInformation = ['user_id' => $userId, 'token' => $gitHubUser->token, 'github_id' => $gitHubUser->getId(), 'nickname' => $gitHubUser->getNickname(), 'name' => $gitHubUser->getName(), 'email' => $gitHubUser->getEmail(), 'avatar' => $gitHubUser->getAvatar()];
     $this->gitHubInfoModel->insert($gitHubInformation);
     return $userId;
 }
Exemplo n.º 3
0
 public static function createUserForFacebookUser(Two\User $user)
 {
     return User::forceCreate(['id' => $user->getId(), 'username' => $user->getName(), 'avatar' => $user->getAvatar(), 'access_token' => $user->token]);
 }